Tôi đang chỉnh sửa một dự án web có sử dụng Spring và tôi cần thêm một số chú thích của Spring. Hai trong số những cái tôi đang thêm là @RequestBody và @RequestParam. Tôi đã poking xung quanh một chút và tìm thấy this, nhưng tôi vẫn không hoàn toàn hiểu cách sử dụng các chú thích này. Bất cứ ai có thể cung cấp một ví dụ?Học Spring's @RequestBody và @RequestParam
Trả lời
khiển dụ:
@Controller
class FooController {
@RequestMapping("...")
void bar(@RequestBody String body, @RequestParam("baz") baz) {
//method body
}
}
@RequestBody: biến cơ thể sẽ chứa phần thân của yêu cầu HTTP
@RequestParam: biến baz sẽ giữ giá trị của tham số yêu cầu baz
@RequestParam tham số chú thích được liên kết với Servlet cụ thể thông số yêu cầu. Giá trị tham số được chuyển thành kiểu đối số phương thức được khai báo. Chú thích này cho biết rằng tham số phương thức phải được ràng buộc với tham số yêu cầu web.
Ví dụ yêu cầu kiễu góc cho mùa xuân RequestParam (s) sẽ trông như thế:
$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 thông số chú thích được liên kết với cơ thể yêu cầu HTTP. Các giá trị tham số được chuyển đổi thành kiểu đối số phương thức được khai báo sử dụng HttpMessageConverters. Chú thích này cho biết tham số phương thức phải được ràng buộc với phần thân của yêu cầu web.
Ví dụ yêu cầu kiễu góc cho mùa xuân RequestBody sẽ trông như thế:
$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) {...
Hope this helps.
- 1. Sử dụng cả @RequestBody và @RequestParam cùng nhau vào mùa xuân mvc3
- 2. Chú thích @RequestBody và @ResponseBody trong Spring
- 3. Bảo mật mùa xuân @RequestBody
- 4. RequestBody của ứng dụng REST
- 5. Thử nghiệm JUnit độc lập với Springs @Autowired
- 6. HTTPBuilder set requestBody trên phương thức GET
- 7. Lợi ích của việc sử dụng Quản lý giao dịch Springs và sử dụng hibernate
- 8. bất kỳ cách nào để nhận BindingResult cho @RequestParam?
- 9. Bất cứ ai có thể giải thích cách @RequestMapping và @RequestBody hoạt động không?
- 10. Spring 3.0.6 MVC @PathVariable và @RequestParam trống/trống trong chế độ xem JSP
- 11. Spring @MVC và chú thích @RequestBody với dữ liệu x-www-form-urlencoded?
- 12. Nhận giá trị từ @RequestParam mà không quy định tên
- 13. Spring 3 AJAX POST yêu cầu với @RequestBody và @ModelAttribute và @SessionAttribute được sử dụng cùng nhau?
- 14. Học WPF và MVVM
- 15. Lớp học kiểu cũ, lớp học kiểu mới và metaclasses
- 16. Chất lỏng và số học
- 17. Giá trị Spring MVC @RequestParam không được trích xuất từ URI như mong đợi
- 18. Xuân @RequestBody chứa một danh sách các loại khác nhau (nhưng cùng một giao diện)
- 19. mùa xuân Bộ điều khiển: đối tượng sử dụng tên miền như @RequestBody
- 20. Có thể có các giá trị RequestParam rỗng sử dụng defaultValue không?
- 21. Spring MVC + RequestParam dưới dạng Bản đồ + lấy tham số mảng URL không hoạt động
- 22. Mùa xuân không chấp nhận thông số POST trừ khi @RequestParam "required = false"
- 23. Các đối số Spring @RequestParam không được chuyển trong phương thức POST
- 24. Mô-đun và Lớp học trong OCaml
- 25. Khóa học bồi dưỡng C++ và STL
- 26. OO JQuery và các lớp học
- 27. Các lớp học riêng và uml
- 28. Lập trình toán học và trò chơi
- 29. Chất lượng mẫu hình học và điền
- 30. css nth-child và các lớp học
Có các ví dụ hay trong tài liệu, cho cả ['@ RequestMapping'] (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html# mvc-ann-requestparam) và ['@ RequestBody'] (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-requestbody) – skaffman