Study
Ruby on Rails

API Mode & JSON Responses

Penjelasan

Selain merender HTML, controller Rails juga bisa mengembalikan JSON — berguna kalau Rails dipakai sebagai backend API untuk frontend JavaScript terpisah (React, Vue, dsb). Caranya cukup panggil `render json: @catatan` alih-alih membiarkan Rails merender view ERB. Rails bahkan punya mode khusus `rails new nama_app --api` yang membuat aplikasi lebih ringan (tanpa middleware untuk view/asset) karena hanya difokuskan untuk melayani API. Kamu juga bisa merespons status code HTTP yang sesuai lewat opsi `status:`.

Contoh Konsep

class Api::CatatanController < ApplicationController
  def index
    render json: Catatan.all
  end

  def create
    @catatan = Catatan.new(catatan_params)
    if @catatan.save
      render json: @catatan, status: :created
    else
      render json: { errors: @catatan.errors.full_messages }, status: :unprocessable_entity
    end
  end
end

Praktikum

Lengkapi action `index` agar mengembalikan seluruh catatan dalam format JSON.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau proyekmu memang sejak awal hanya jadi backend API (tidak butuh view HTML sama sekali), gunakan `rails new nama_app --api` supaya struktur project sudah lebih ringkas dan bebas dari boilerplate view/asset yang tidak dipakai.