Ich bearbeite ein Web-Projekt, das Spring verwendet, und ich muss einige Anmerkungen von Spring hinzufügen. Zwei der hinzugefügten sind @RequestBody und @RequestParam. Ich habe ein wenig herum gestochert und this gefunden, aber ich verstehe immer noch nicht vollständig, wie man diese Anmerkungen benutzt. Kann jemand ein Beispiel geben?Lernen Spring @RequestBody und @RequestParam
Antwort
-Controller Beispiel:
@Controller
class FooController {
@RequestMapping("...")
void bar(@RequestBody String body, @RequestParam("baz") baz) {
//method body
}
}
@RequestBody: variable Körper den Körper der HTTP-Anforderung enthalten
@RequestParam: variable Baz wird den Wert des Anforderungsparameter Baz halten
@RequestParam annotierte Parameter werden mit einem bestimmten Servlet verknüpft Anfrageparameter. Parameterwerte werden in den deklarierten Methodenargumenttyp konvertiert. Diese Annotation gibt an, dass ein Methodenparameter an einen Webanforderungsparameter gebunden werden soll.
Zum Beispiel Angular Anfrage für Frühling RequestParam (n) so aussehen würde:
$http.post('http://localhost:7777/scan/l/register', {params: {"username": $scope.username, "password": $scope.password, "auth": true}}).
success(function (data, status, headers, config) {
...
})
@RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/register")
public Map<String, String> register(Model uiModel,
@RequestParam String username, @RequestParam String password, boolean auth,
HttpServletRequest httpServletRequest) {...
@RequestBody kommentierte Parameter erhalten auf der HTTP-Anforderung Körper verbunden sind. Parameterwerte werden mithilfe von HttpMessageConverters in den deklarierten Methodenargumenttyp konvertiert. Diese Annotation gibt an, dass ein Methodenparameter an den Hauptteil der Webanforderung gebunden werden soll.
Zum Beispiel Angular Anfrage für Frühling RequestBody würde so aussehen:
$scope.user = {
username: "foo",
auth: true,
password: "bar"
};
$http.post('http://localhost:7777/scan/l/register', $scope.user).
success(function (data, status, headers, config) {
...
})
@RequestMapping(method = RequestMethod.POST, produces = "application/json", value = "/register")
public Map<String, String> register(Model uiModel,
@RequestBody User user,
HttpServletRequest httpServletRequest) {...
Hoffnung, das hilft.
- 1. Was ist der Unterschied zwischen @RequestBody und @RequestParam?
- 2. Spring @RequestParam Typenkonfliktausnahme?
- 3. Spring: @ModelAttribute VS @RequestBody
- 4. Spring Web MVC, @ModelAttribute und @RequestParam zusammen
- 5. Testen von Spring @RequestBody mit Spring MockMVC
- 6. Spring MVC @RequestBody String-Format
- 7. Frühling @MVC und @RequestParam Validierung
- 8. Wie konvertiert Spring MVC @RequestParam-Werte?
- 9. Spring @ReponseBody @RequestBody mit abstrakten Klasse
- 10. Ember Daten mit Spring @RequestBody und Objekt Identitäten
- 11. Spring Boot + Swagger + Swagger UI und @RequestBody hat Datentyp String
- 12. Federsicherung @RequestBody
- 13. Spring Controller @RequestBody mit Datei-Upload ist es möglich?
- 14. Frühling @RequestBody und Enum Wert
- 15. Benutzerdefinierte @RequestParam Rückmeldungen und bedingte Parameter
- 16. Spring @RequestParam DateTime-Format als ISO 8601-Datum Optionale Uhrzeit
- 17. Spring @ RequestParam Argumente nicht in POST-Methode übergeben
- 18. Spring akzeptiert keinen POST-Parameter außer @RequestParam "required = false"
- 19. Benutzerdefinierte Validierung für RequestParam funktioniert nicht mit Spring MVC
- 20. Spring-MVC 3.2 zu 4.1 Aktualisierung: @RequestParam, das nicht bindet
- 21. @RequestBody mit generischem Typ
- 22. Spring Boot: Wie behandelt 400 Fehler verursacht durch @RequestParam?
- 23. Spring 4 - "null" @RequestBody für alle Endpunkte ablehnen
- 24. Objekt in Angular2 an Spring RestContoller mit @RequestBody senden
- 25. So rufen Sie die Spring Controller-Methode mit @RequestBody vom JUNIT-Testfall
- 26. Spring 3 AJAX POST-Anfrage mit @RequestBody und @ModelAttribute und @SessionAttribute zusammen verwendet?
- 27. Wie eine JSON-Nutzlast auf eine @RequestParam in Spring MVC POST
- 28. noob Projekt zu lernen Spring/Hibernate
- 29. Senden einer Datei und JSON-Daten an Spring Rest Service
- 30. @RequestBody und @ResponseBody Anmerkungen im Frühjahr
Es gibt gute Beispiele in der Dokumentation für beide ['@ RequestMapping'] (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html# mvc-ann-requestparam) und ['@ RequestBody'] (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-requestbody) – skaffman