Font size
WorksheetsCodean | Rest API Error Handling in Spring Boot
Total questions: 24
Worksheet time: 14mins
Apa fokus utama artikel pada gambar berikut ini?
Manajemen basis data
Penanganan kesalahan dalam REST API
Keamanan jaringan
Membuat antarmuka pengguna
Annotation mana yang digunakan untuk menangani pengecualian secara global di Spring Boot?
@Service
@ControllerAdvice
@Component
@RestController
Jenis kesalahan apa yang disebutkan dalam artikel gambar berikut?
Kesalahan kompilasi
Kesalahan jaringan
Kesalahan validasi
Kesalahan sintaksis
Apa tujuan dari kelas ResourceNotFoundException?
Untuk mencatat kesalahan
Untuk menghubungkan ke database
Untuk melempar pengecualian kustom
Untuk memvalidasi input pengguna
Apa yang dilakukan anotasi @ResponseStatus?
Menentukan format respons
Memvalidasi input pengguna
Menetapkan kode status HTTP
Menangani koneksi database
Apa format untuk respons kesalahan umum dalam API?
{ error: { 'statusCode': '404', 'message': 'Tidak ditemukan' }}
{ error: { 'status': '400', 'message': 'Kesalahan validasi' }}
{ error: { 'statusCode': '500', 'message': 'Kesalahan server internal' }}
{ error: { 'status': '404', 'message': 'Produk tidak ditemukan' }}
Apa yang dilakukan anotasi @Valid?
Memetakan parameter permintaan
Menangani pengecualian
Menetapkan header respons
Memvalidasi objek input
Apa peran kelas ApiResponse?
Untuk menangani kueri basis data
Untuk memodelkan respons yang dikirim kembali
Untuk mencatat permintaan API
Untuk memvalidasi sesi pengguna
Kesalahan apa yang secara khusus disebutkan untuk penanganan validasi?
Kesalahan pointer null
MethodArgumentNotValidException
ResourceNotFoundException
IllegalArgumentException
Apa yang termasuk dalam kelas ApiError?
Detail autentikasi pengguna
Daftar kesalahan validasi
Pengaturan koneksi database
Informasi versi API
Apa pentingnya menggunakan anotasi Lombok?
Untuk meningkatkan kinerja
Untuk menghindari kode boilerplate
Untuk meningkatkan keamanan
Untuk mengelola ketergantungan
Jenis kesalahan apa yang disarankan artikel ini untuk tidak ditampilkan kepada pengguna?
Kesalahan jaringan
Eksepsi kesalahan
Kesalahan validasi
Kesalahan otentikasi
Apa format respons yang diharapkan untuk kesalahan validasi?
{ error: { 'status': '400', 'message': 'Kesalahan validasi' }}
{ error: { 'status': '200', 'message': 'Sukses' }}
{ error: { 'status': '404', 'message': 'Tidak ditemukan' }}
{ error: { 'status': '500', 'message': 'Kesalahan server internal' }}
Apa yang disarankan tentang implementasi penanganan kesalahan/exception handle?
Harus kompleks
Harus seragam
Harus minimal
Harus opsional
Apa manfaat utama menggunakan @Order(Ordered.HIGHEST_PRECEDENCE)?
Untuk memprioritaskan penanganan kesalahan
Untuk mencatat kesalahan
Untuk mengelola koneksi database
Untuk memvalidasi input pengguna
Untuk menangani error secara global dalam Spring Boot, kita dapat menggunakan anotasi @RestControllerAdvice. Metode yang ada dalam class ini dapat ditandai dengan anotasi @ExceptionHandler. Pada kode berikut, isi bagian yang kosong untuk menangani exception tipe RuntimeException.
(a)
Saat membuat API di Spring Boot, kita bisa menggunakan ResponseEntity untuk memberikan response yang lebih fleksibel, termasuk menentukan status HTTP dan body. Pada potongan kode berikut, lengkapi kode untuk memberikan response dengan status OK dan body berupa objek User.
(a)
Pada kode berikut, apa yang akan dikembalikan jika UserNotFoundException terjadi?
Status 200 OK dengan body "User not found"
Status 404 NOT FOUND dengan body "User not found"
Status 500 INTERNAL SERVER ERROR dengan body "User not found"
Status 403 FORBIDDEN dengan body "User not found"
Kode berikut adalah implementasi dari @ControllerAdvice untuk menangani semua IllegalArgumentException. Apa status HTTP yang akan dikembalikan ketika exception ini terjadi?
400 BAD REQUEST
404 NOT FOUND
500 INTERNAL SERVER ERROR
403 FORBIDDEN
Pada Spring Boot, kita dapat menggunakan anotasi @ResponseStatus untuk memberikan status HTTP secara langsung pada metode yang menangani exception. Lengkapi kode berikut untuk memberikan status BAD_REQUEST pada InvalidDataException.
(a)
Dalam pengaturan default Spring Boot, jika terjadi exception yang tidak ditangani, Spring Boot akan mengembalikan response dengan status HTTP 500. Untuk menangani hal ini secara custom, kita bisa menggunakan anotasi @ControllerAdvice. Lengkapi kode di bawah ini untuk menangani semua exception yang tidak ditangani oleh handler lain
(a)
Apa yang dilakukan oleh anotasi @RestControllerAdvice?
Mengatur pengelolaan request yang kompleks di controller.
Menyediakan mekanisme untuk menangani error secara global di seluruh controller.
Mengaktifkan fitur logging untuk seluruh controller
Menentukan validasi di tingkat service.
Kode berikut menunjukkan cara mengembalikan response API dengan status tertentu. Apa yang akan terjadi jika getUserById() memanggil null?
Status 404 NOT FOUND akan dikembalikan jika user tidak ditemukan.
Status 200 OK akan dikembalikan dengan body null.
Status 500 INTERNAL SERVER ERROR akan dikembalikan.
Tidak ada response yang dikirim.
Pada kode berikut, apa hasilnya jika ada exception InvalidDataException yang dilemparkan?
400 BAD REQUEST dengan body "Invalid data provided"
500 INTERNAL SERVER ERROR dengan body "Invalid data provided"
404 NOT FOUND dengan body "Invalid data provided"
403 FORBIDDEN dengan body "Invalid data provided"
