Study
Spring Boot

Response: ResponseEntity

Penjelasan

Mengembalikan tipe data biasa (seperti String di materi sebelumnya) SELALU menghasilkan status 200 OK — untuk mengatur status code lain (404, 201, dst) atau header custom, dipakai ResponseEntity<T>, dibungkus lewat method statis ResponseEntity.ok(), .notFound(), .status(kode).

Contoh Konsep

@GetMapping("/produk/{id}")
public ResponseEntity<String> show(@PathVariable int id) {
    if (id == 999) {
        return ResponseEntity.notFound().build();
    }
    return ResponseEntity.ok("Produk dengan id: " + id);
}

@PostMapping("/produk")
public ResponseEntity<CreateProdukRequest> store(@RequestBody CreateProdukRequest request) {
    return ResponseEntity.status(HttpStatus.CREATED).body(request);
}

Praktikum

Buat method show(@PathVariable int id) bertipe ResponseEntity<String> yang mengembalikan ResponseEntity.notFound().build() kalau id == 999, atau ResponseEntity.ok(...) berisi pesan produk untuk id lainnya.

Editor Latihan

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

Tips

ResponseEntity.notFound().build() TIDAK PERLU .body(...) karena response 404 memang biasanya tidak butuh body — beda dengan .ok(data) atau .status(kode).body(data) yang WAJIB menyertakan body-nya, .build() adalah cara menyelesaikan builder ResponseEntity TANPA body.