Saya sedang mengembangkan proyek menggunakan Spring Boot. Saya memiliki pengontrol yang menerima permintaan GET .
Saat ini saya menerima permintaan untuk jenis URL berikut:
tetapi saya ingin menerima permintaan menggunakan parameter kueri :
Berikut kode pengontrol saya:
@RequestMapping(value="/data/{itemid}", method = RequestMethod.GET)
public @ResponseBody
item getitem(@PathVariable("itemid") String itemid) {
item i = itemDao.findOne(itemid);
String itemname = i.getItemname();
String price = i.getPrice();
return i;
}
java
rest
spring-boot
Mehandi Hassan
sumber
sumber
@RequestParam
(titik awal yang baik: panduan resmi )Jawaban:
Gunakan @RequestParam
sumber
public @ResponseBody item getitem(@RequestParam("data") String itemid){
mengharuskan parameter kueri data selalu ada. Sebaliknya jika Anda menggunakannya dengan cara inipublic @ResponseBody item getitem(@RequestParam Map<String, String> queryParameters){
, itu membuat data menjadi opsionalSementara jawaban yang diterima oleh afraisse benar-benar benar dalam hal penggunaan
@RequestParam
, saya lebih lanjut menyarankan untuk menggunakan Opsional <> karena Anda tidak selalu dapat memastikan parameter yang tepat digunakan. Selain itu, jika Anda membutuhkan Integer atau Long cukup gunakan tipe data tersebut untuk menghindari tipe casting nanti di DAO.sumber
Di Spring boot: 2.1.6, Anda dapat menggunakan seperti di bawah ini:
@ApiOperation adalah anotasi yang berasal dari Swagger api, digunakan untuk mendokumentasikan apis.
sumber
required = true
secara defaultSaya juga tertarik dengan ini dan menemukan beberapa contoh di situs Spring Boot.
Lihat di sini juga
sumber