Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:php:php_rest_api:php_mocking

Ez a dokumentum egy előző változata!


< PHP REST API

PHP REST API mocking

Végpont

Végpont
products GET az összes terméket adja

Egyszerűen tömbből

src/api/products/index.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
 
read_data();
 
function read_data() {
    $data = [
        [ "id"=>1, "name"=>"vaj", "price"=>1.8 ],
        [ "id"=>2, "name"=>"kenyér", "price"=>0.8 ],
        [ "id"=>3, "name"=>"tej", "price"=>0.9 ]
    ];
 
    $res = json_encode(
        $data,
        JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT 
    );
    echo $res;
}

A tömb egyszerűsített verzióját használtuk PHP-ban. Így is írhatjuk:

    $data = array(
        array( "id"=>1, "name"=>"vaj", "price"=>1.8 ),
        array( "id"=>2, "name"=>"kenyér", "price"=>0.8 ),
        array( "id"=>3, "name"=>"tej", "price"=>0.9 )
    );

A product tulajdonság megadása:

    $data = [
        "products" => [
        [ "id"=>1, "name"=>"vaj", "price"=>1.8 ],
        [ "id"=>2, "name"=>"kenyér", "price"=>0.8 ],
        [ "id"=>3, "name"=>"tej", "price"=>0.9 ]
        ]
    ];

Egyszerűen JSON fájlból

src/api/database.json
[
    {
        "id": 1,
        "name": "vaj",
        "price": 2
    },
    {
        "id": 2,
        "name": "kifli",
        "price": 0.7
    },
    {
        "id": 3,
        "name": "vaj",
        "price": 2
    }
]
src/api/products/index.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
 
read_data();
 
function read_data() {
    $page = file_get_contents('../database.json');
    echo $page;
}

A products tulajdonsággal

src/api/database.json
{
    "products": [
        {
            "id": 1,
            "name": "vaj",
            "price": 2
        },
        {
            "id": 2,
            "name": "kifli",
            "price": 0.7
        },
        {
            "id": 3,
            "name": "vaj",
            "price": 2
        }
    ]
}
src/api/products/index.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
 
read_data();
 
function read_data() {
    $page = file_get_contents('../database.json');
    $obj = json_decode($page);
    $res = json_encode(
        $obj->{'products'}, 
        JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT 
    );
    echo $res;
}

Lehetséges JavaScript kliens

app.js
var url = 'http://localhost:3000/api/products';
fetch(url)
.then(res => res.json())
.then(res => {
    console.log(res );
});
oktatas/programozas/php/php_rest_api/php_mocking.1649601786.txt.gz · Utolsó módosítás: 2022/04/10 16:43 szerkesztette: admin