Tutorial REST API di Laravel #3 : Menampilkan Data dari Database

Pada tutorial sebelumnya kita sudah berhasil membuat insert atau input data ke database dengan REST API di Framework Laravel.

Pada tutorial ini kita akan belajar bagaimana cara menampilkan data dari database dengan REST API dalam format JSON.

Silahkan buka file PostsController.php di dalam folder app/Http/Controllers/api/v1 dan silahkan tambahkan 1 fungsi berikut ini :

public function index()
{
    $posts = Post::latest()->get();
    return response(
        [
            'success' => true,
            'message' => 'List Semua Posts',
            'data' => $posts
        ], 
    200);
}

Sehingga sintak lengkapnya jadi 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
{

    /**
     * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response
     */

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

    
    public function index()
    {
        $posts = Post::latest()->get();
        return response(
            [
                'success' => true,
                'message' => 'List Semua Posts',
                'data' => $posts
            ], 
        200);
    }


    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
                );
            }
        }
    }
}

Sintak PostsController.php di atas, kita menambahkan 1 fungsi baru dengan nama index, fungsi ini akan kita gunakan untuk menampilkan data dari database berupa format JSON.

Sekarang silahkan buka file api.php di dalam folder routes, silahkan tambahkan kode berikut ini :

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

Sekarang kita bisa mencobanya langsung dengan Postman, silahkan masukkan http://localhost:8000/api/v1/posts/ pada bagian URL dan jangan lupa menggunakan method GET.

Baca Juga  Migrasi Database WordPress dari Localhost ke Hosting

Jika berhasil, teman-teman akan melihat response dengan format JSON kurang lebih seperti berikut ini :

{
    "success": true,
    "message": "List Semua Posts",
    "data": [
        {
            "id": 2,
            "title": "Contoh Judul 2",
            "content": "Ini adalah contoh konten 2",
            "created_at": "2024-09-16T04:45:45.000000Z",
            "updated_at": "2024-09-16T04:45:45.000000Z"
        },
        {
            "id": 1,
            "title": "Contoh Judul",
            "content": "Ini adalah contoh konten",
            "created_at": "2024-09-15T10:45:58.000000Z",
            "updated_at": "2024-09-15T10:45:58.000000Z"
        }
    ]
}

Seperti gambar berikut ini :

Demikian pembahasan tentang menampilkan data dari database dengan REST API di Framework Laravel. Pada tutorial selanjutnya kita akan belajar menampilkan data berdasarkan ID, atau detail data berdasarkan ID.

Jika ada pertanyaan silahkan tuliskan 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