Ich entwickle ein Projekt mit Spring Boot. Ich habe einen Controller, der GET- Anfragen akzeptiert .
Derzeit akzeptiere ich Anfragen an folgende URLs:
Ich möchte jedoch Anforderungen mithilfe von Abfrageparametern annehmen :
Hier ist der Code meines Controllers:
@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
quelle
quelle
@RequestParam
(guter Ausgangspunkt: der offizielle Führer )Antworten:
Verwenden Sie @RequestParam
quelle
public @ResponseBody item getitem(@RequestParam("data") String itemid){
erfordert Datenabfrageparameter immer vorhanden sein. Wenn Sie es stattdessen auf diese Weise verwendenpublic @ResponseBody item getitem(@RequestParam Map<String, String> queryParameters){
, werden Daten erstellt optionalWährend die von afraisse akzeptierte Antwort in Bezug auf die Verwendung absolut korrekt ist
@RequestParam
, würde ich weiterhin empfehlen, ein optionales <> zu verwenden, da Sie nicht immer sicherstellen können, dass der richtige Parameter verwendet wird. Wenn Sie eine Ganzzahl oder Long benötigen, verwenden Sie einfach diesen Datentyp, um spätere Casting-Typen im DAO zu vermeiden.quelle
In Spring Boot: 2.1.6 können Sie wie folgt verwenden:
@ApiOperation ist eine Anmerkung, die von Swagger API stammt. Sie wird zur Dokumentation der API verwendet.
quelle
required = true
StandardmäßigDas hat mich auch interessiert und ich habe einige Beispiele auf der Spring Boot-Website gefunden.
Siehe auch hier
quelle