Cara Membuat REST API di Laravel #2 : Input Data ke Database


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com

Cara Membuat REST API di Laravel #2 : Input Data ke Database - Halo teman-teman semuanya, diartikel sebelumnya kita sudah berhasil menginstall Framework Laravel dan membuat sebuah Database.

Pada artikel kali ini kita semua akan belajar bagaimana cara memasukkan data atau insert data ke Database dengan REST API di Framework Laravel.

Pada praktek REST API kali ini kita akan membutuhkan tools untuk membantu kita dalam melakukan manipulasi data dengan REST API yaitu Postman.

Jika teman-teman belum menginstallnya, silahkan diinstall terlebih dahulu, untuk installasi bisa melalui situs resminya di https://www.getpostman.com/.

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 diatas, kita berhasil membuat file baru dengan nama PostsController.php di dalam folder app/Http/Controllers/api/v1

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

<?php

namespace App\Http\Controllers\api\v1;

use App\Http\Controllers\Controller;
use App\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

class PostsController extends Controller
{t
    /**
     * @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 kode diatas, kita menambahkan fungsi baru dengan nama store, fungsi ini kita gunakan untuk menyimpan data ke database.

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', 'api\v1\PostsController@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 !"
        ]
    }
}

Atau kurang lebih seperti gambar dibawah 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 valunya.

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

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

Atau kurang lebih seperti gambar dibawah ini :


Dari hasil response JSON diatast, kita sudah berhasil menginput data atau insert data ke database, jika teman-teman cek di tabelnya kurang lebih seperti berikut ini :

Sampai disini tutorial input data atau insert data dengan REST API di Framework Laravel. Di artikel selanjutnya kita bersama-sama akan belajar cara menampilkan data dengan REST API di Framework Laravel.

Terima Kasih


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com
KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

KOMENTAR