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.
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.