laravel ??????????????????

Laravel ??????????????? PHP ??? Web ??????????????????????????????????????????????????????????????????????????????????????? Web ?????????????????? Laravel ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Laravel ????????????????????????

?????????????????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Web ???????????????????????????????????????????????????????????????????????????

??????Laravel ????????????

Laravel ???????????????????????????????????????????????????????????????????????????????????? Web ????????????????????????????????????????????????????????????????????????????????? Laravel ??????????????????????????????????????? RESTful API???

RESTful API ????????? Web ??????????????????????????? Web ?????????????????????REST ????????????Representational State Transfer???????????????????????? HTTP ????????????????????? Web API ??????????????????????????????????????? Web API ????????????????????????????????????????????????????????????????????????

Laravel ??????????????????????????? HTTP ????????????????????? GET???POST???PUT???PATCH ??? DELETE??????????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????????????????????????????????????? JSON ????????????????????????

Route::get('/api/products', function () {
    $products = [
        ['name' => 'iPhone', 'price' => 699],
        ['name' => 'iPad', 'price' => 799],
        ['name' => 'iMac', 'price' => 1299],
    ];

    return response()->json($products);
});
???????????????

????????????????????????????????????????????? GET ???????????????????????????????????? /api/products ????????????????????????????????????????????????????????????????????????????????????????????????????????? response()->json() ???????????????????????? JSON ??????????????????????????????????????????

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? API ??????????????????????????????????????????????????????

???????????? Ajax ????????????

?????? Ajax ?????????????????????????????????????????????????????????????????????????????? Web ?????????????????????????????????????????????????????? API ?????????

??? Laravel ???????????????????????? jQuery ??? Ajax ?????????????????? RESTful API ????????????????????????????????????????????????????????? Ajax ????????????????????? /api/products ?????????

$.ajax({
    url: '/api/products',
    type: 'GET',
    dataType: 'json',
    success: function (data) {
        console.log(data);
    },
    error: function () {
        alert('???????????????');
    }
});
???????????????

???????????????????????????????????? $.ajax() ?????????????????? GET ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? console.log() ????????????????????????????????????????????????

???????????? Guzzle ????????????

Guzzle ??????????????? PHP ??? HTTP ???????????????????????????????????????????????????????????? API ????????? HTTP ???????????? Laravel ???????????????????????? Guzzle ????????? RESTful API???

????????? Guzzle ????????????????????? Composer ???????????????????????????????????????????????? HTTP ????????????????????????????????????????????????????????????????????????????????????????????? Guzzle ????????????????????? /api/products ?????????

use GuzzleHttpClient;

$client = new Client([
    // API ??????????????? URL ??????
    'base_uri' => 'http://example.com',
]);

$response = $client->request('GET', '/api/products', [
    'headers' => [
        'Accept' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);

print_r($data);
???????????????

????????????????????????????????????????????? Guzzle ??????????????????????????? API ??????????????? URL ?????????????????????????????? request() ?????????????????? GET ??????????????????????????? URI ?????????????????? Accept ???????????????????????????????????????????????? JSON ??????????????????????????? PHP ?????????????????????????????????

????????????

????????????????????? Laravel ?????? Web ????????????????????????????????????????????????????????????????????????????????? Laravel ????????????????????? RESTful API????????????????????? Ajax ??? Guzzle ????????????????????????????????????????????????????????????????????????????????????????????????????????? Laravel ????????????????????????????????????

????????????laravel ???????????????????????????????????????????????????php??????????????????????????????