Tutorial REST API di Laravel #2 : Input Data ke Database

Pada tutorial ini kita akan belajar cara memasukkan data atau insert data ke Database dengan REST API di Framework Laravel.

Pada praktek REST API ini kita membutuhkan tools untuk membantu kita dalam melakukan manipulasi data dengan REST API yaitu Postman. Jika belum menginstallnya, silahkan diinstall terlebih dahulu, untuk installasi bisa melalui situs resminya di https://www.postman.com/. Untuk tutorial cara install postman bisa dibaca di sini.

Setelah install Postman selesai, kita lanjutkan membuat sebuah controller baru dengan cara menjalankan perintah dibawah ini :

php artisan make:controller 'api\v1\PostsController'

Dari perintah di atas, kita berhasil membuat file baru dengan nama PostsController.php di dalam folder app/Http/Controllers/api/v1.

Sekarang kita buka file PostsController.php dan di sini kita akan menambahkan sebuah fungsi baru dengan nama store, fungsi ini kita gunakan untuk menyimpan data ke database, ubah PotsController.php menjadi seperti berikut ini :

<?php

namespace App\Http\Controllers\api\v1;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

use App\Models\Post;
use Illuminate\Support\Facades\Validator;

class PostsController extends Controller
{

    /**
     * @param Request $request
     * @return \Illuminate\Http\JsonResponse
     */

    public function store(Request $request)
    {
        //validate data
        $validator = Validator::make(
            $request->all(),
            [
                'title' => 'required',
                'content' => 'required',
            ],

            [
                'title.required' => 'Masukkan Title Post !',
                'content.required' => 'Masukkan Content Post !',
            ]
        );

        if ($validator->fails()) {
            return response()->json([
                    'success' => false,
                    'message' => 'Silahkan Isi Bidang Yang Kosong',
                    'data' => $validator->errors()
                ], 
                401
            );
        } 
        else {
            $post = Post::create([
                'title' => $request->input('title'),
                'content' => $request->input('content')
            ]);

            if ($post) {
                return response()->json([
                    'success' => true,
                    'message' => 'Post Berhasil Disimpan!',
                ], 200);
            } 
            else {
                return response()->json([
                        'success' => false,
                        'message' => 'Post Gagal Disimpan!',
                    ], 
                    401
                );
            }
        }
    }
}

Dari sintak di atas, kita menambahkan fungsi baru dengan nama store, fungsi ini kita gunakan untuk menyimpan data ke database.

Baca Juga  Tutorial ReactJS #1 : Pengenalan Dasar ReactJS

Selanjutnya kita akan membuat sebuah route untuk api yang akan kita gunakan nanti, silahkan buka file api.php di dalam folder routes, dan silahkan tambahkan kode dibawah ini :

Route::post('v1/posts/store', [App\Http\Controllers\api\v1\PostsController::class, 'store']);

Sekarang kita bisa langsung mencoba REST API menggunakan Postman, silahkan buka Postman dan masukkan http://localhost:8000/api/v1/posts/store pada bagian URL dan jangan lupa menggunakan method POST.

Silahkan klik Send, maka teman-teman akan menemukan sebuah pesan validasi error berupa format JSON seperti berikut ini :

{
    "success": false,
    "message": "Silahkan Isi Bidang Yang Kosong",
    "data": {
        "title": [
            "Masukkan Title Post !"
        ],
        "content": [
            "Masukkan Content Post !"
        ]
    }
}

Seperti gambar di bawah ini :

Pesan itu muncul karena kita belum menambahkan form-data dengan kolom title dan content, silahkan klik tab body pada Postman dan pilih form-data, dan tambahkan key dengan nama title dan body beserta valuenya.

Jika sudah kita bisa klik Send, jika berhasil teman-teman akan mendapatkan format JSON sepertiti berikut ini :

{
    "success": true,
    "message": "Post Berhasil Disimpan!"
}

Seperti gambar dibawah ini :

 

Dari hasil response JSON di atas, kita sudah berhasil menginput data atau insert data ke database, jika kita cek di tabelnya seperti berikut ini :

 

Sampai disini tutorial input data atau insert data dengan REST API di Framework Laravel. Pada tutorial selanjutnya kita akan belajar cara menampilkan data dengan REST API di Framework Laravel.

Jika ada pertanyaan silahkan tulis di kolom komentar, semoga bermanfaat.

Related Post

Be the first to comment

Leave a Reply

Your email address will not be published.


*


error: Ga bisa dicopy