반응형
외부 API를 호출할때, 라라벨의 http client를 이용할 수 있다.
1. 우선, ClientController를 만들어준다.
php artisan make:controller ClientController
2. json더미데이타( 외부API호출).
https://jsonplaceholder.typicode.com/posts
3. ClientController.php
class ClientController extends Controller
{
//Bring All datas
public function getAllPost(){
$response = Http::get('https://jsonplaceholder.typicode.com/posts');
return $response->json();
}
//Get 1 data
public function getPostById($id){
$post = Http::get('https://jsonplaceholder.typicode.com/posts/'.$id);
return $post->json();
}
//Post data
public function addPost(){
$post = Http::post('https://jsonplaceholder.typicode.com/posts/', [
'userId' => 1,
'title' => 'New Post title',
'body' => 'New Post Description'
]);
return $post->json();
}
//Update
public function updatePost(){
$response = Http::put('https://jsonplaceholder.typicode.com/posts/1', [
'title' => 'Updated Title',
'body' => 'Updated Description'
]);
return $response->json();
}
//Delete
public function deletePost($id){
$response = Http::delete('https://jsonplaceholder.typicode.com/posts/'.$id);
return $response->json();
}
}
4. web.php 위에 것을 라우팅을 이용해서 불러오기
/posts
Route::get('/posts', [ClientController::class, 'getAllPost'])->name('posts.getAllPost');
/posts/1
Route::get('/posts/{id?}', [ClientController::class, 'getPostById'])->name('posts.getPostById');
Route::get('/add-post', [ClientController::class, 'addPost'])->name('posts.addpost');
Route::get('/update-post', [ClientController::class, 'updatePost'])->name('posts.update');
/delete-post/12
Route::get('/delete-post/{id?}', [ClientController::class, 'deletePost'])->name('posts.delete');
반응형
'Project > Laravel' 카테고리의 다른 글
5. 미드웨어, 세션 (0) | 2022.07.19 |
---|---|
4. Http requests and Html Form 작성 (0) | 2022.07.19 |
2.라라벨 컴포넌트 (0) | 2022.07.18 |
1.라라벨 설치 및 라우팅 (0) | 2022.07.18 |
글 읽어오기 (0) | 2022.07.15 |