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??????????????????????????????