Skip to content

M07 · Bab 5± 50 menitDraf AI

REST Controller

Tujuan belajar

  • Membuat endpoint REST dengan @RestController, @RequestMapping, dan @GetMapping/@PostMapping/@PutMapping/@PatchMapping/@DeleteMapping
  • Membaca input dari URL dan body dengan @PathVariable, @RequestParam (default & opsional), dan @RequestBody
  • Mengatur status dan header respons dengan ResponseEntity, termasuk header Location untuk 201 Created
  • Menjaga controller tetap tipis dengan memindahkan aturan bisnis ke service
  • Menguji endpoint secara manual dengan curl

Prasyarat: Desain RESTful API

Kuis

5 soal · lulus bila minimal 70% benar

1.Endpoint @GetMapping public List<ProductResponse> list(@RequestParam(defaultValue = "0") int page, @RequestParam(required = false) String q) dipanggil dengan GET /api/products. Apa yang terjadi?
2.Setelah POST /api/products berhasil membuat produk baru, respons mana yang paling sesuai konvensi REST?
3.Apa perbedaan utama @RestController dibanding @Controller?
4.Kamu memanggil curl -X POST localhost:8080/api/products -d '{"name":"Kopi","price":50000,"stock":10}' dan mendapat 415 Unsupported Media Type. Penyebab paling mungkin?
5.Reviewer menolak PR karena method controller berisi pengecekan stok, perhitungan diskon, dan penyimpanan ke map. Perbaikan yang paling tepat?

Jawab semua soal dulu (0/5)