Anda memiliki dua masalah:
- Abaikan
@Consumes(MediaType.APPLICATION_JSON)
. Permintaan Anda tidak ada hubungannya dengan json. @PathParam
s harus diganti dengan@RequestParam
s. Nilai dibaca sebagai parameter permintaan (string kueri) dan bukan sebagai bagian jalur.
Juga, dalam contoh permintaan Anda harus menyingkirkan /
extra tambahan setelah User
:
localhost:8080/User?userName=Daniel&...
Untuk menggunakan parameter jalur, Anda harus menambahkan anotasi jalur ke konfigurasi metode sumber daya, seperti:
@RequestMapping("/{userName}/{password}/{phone}/{email}/{roles}
dan permintaan akan terlihat seperti:
localhost:8080/User/Daniel/test/0634554567/daniel/OWNER
Yang sama sekali tidak intuitif
Dan satu hal terakhir:List<String> roles
salah. Pegas tidak akan mengonversi ke daftar string, tidak masalah jika Anda menggunakan parameter jalur atau kueri. Anda harus membagi peran menjadi array sendiri (mungkin menggunakan ,
sebagai pemisah) atau berikan Converter
.