REST-API Основи в Laravel 11: Частина 4 | Додавання даних до бази даних

pic

Laravel 11 REST API Основи

Після попереднього розділу Частина 3: Виведення даних з бази даних цього разу ми розглянемо, як додавати дані в базу даних.

Додавання методу Store

Додайте новий метод у контролер PostController, який називатиметься store.
Метод цей буде використовуватися для процесу додавання даних до бази даних.

Відкрийте файл контролера в app\Http\Controllers\Api\PostController.php і змініть код на такий:

paginate(5);  

 // return response()->json($posts);  

 //return data of posts as a resource  
 return new PostResource(true, 'Список даних постів', $posts);  
 }  

 public function store(Request $request)  
 {  
 //визначення правил валідації  
 $validator = Validator::make($request->all(), [  
 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',  
 'title' => 'required',  
 'content' => 'required',  
 ]);  

 //перевірка, чи не зірвалась валідація  
 if ($validator->fails()) {  
 return response()->json($validator->errors(), 422);  
 }  

 //завантаження зображення  
 $image = $request->file('image');  
 $image->storeAs('public/posts', $image->hashName());  

 //створення поста  
 $post = Post::create([  
 'image' => $image->hashName(),  
 'title' => $request->title,  
 'content' => $request->content,  
 ]);  

 //повернення відповіді  
 return new PostResource(true, 'Дані поста успішно додано!', $post);  
 }  
}

Тестування REST API вставки

Відкрийте додаток Postman і не забудьте запустити проект Laravel, потім у Postman введіть URL http://127.0.0.1:8000/api/posts і перейдіть на вкладку body, виберіть form-data, а потім введіть наступні ключі та значення

| key | Type | Value |  
| ------- | ------------| ---------------------------|  
| image | file | Виберіть зображення з комп'ютера |  
| title | text | Доданий заголовок |  
| content | text | Доданий контент |

Після заповнення натискайте send, і якщо все вірно, отримаєте такий результат:

{  
 "success": "Дані поста успішно додано!",  
 "message": {  
 "image": "0Khv0EUzcUDsFvNZBn3aGgr2ySNrFA7dlOB2GltX.jpg",  
 "title": "Доданий заголовок",  
 "content": "Доданий контент",  
 "updated_at": "2024-12-28T07:29:43.000000Z",  
 "created_at": "2024-12-28T07:29:43.000000Z",  
 "id": 1  
 },  
 "data": true  
}

pic

Тестування REST API

Далі, в частині 5, ми продовжимо обговорення відображення деталей даних з REST API ....

Перекладено з: REST-API Basic di Laravel 11 : Part 4 | Input data ke Database

Leave a Reply

Your email address will not be published. Required fields are marked *