@Requestbody là gì

@RequestParamtham số chú thích được liên kết với các tham số yêu cầu Servlet cụ thể. Các giá trị tham số được chuyển đổi thành kiểu đối số phương thức khai báo. Chú thích này chỉ ra rằng tham số phương thức nên được liên kết với tham số yêu cầu web.

Ví dụ: Yêu cầu góc cho Spring RequestParam [s] sẽ giống như thế:$http.post['//localhost:7777/scan/l/register?username="Johny"&password="123123"&auth=true'] .success[function [data, status, headers, config] { ... }]

Điểm cuối với RequestParam:@RequestMapping[method = RequestMethod.POST, value = "/register"] public Map register[Model uiModel, @RequestParam String username, @RequestParam String password, @RequestParam boolean auth, HttpServletRequest httpServletRequest] {...

@RequestBodytham số chú thích được liên kết với thân yêu cầu HTTP. Các giá trị tham số được chuyển đổi thành loại đối số phương thức được khai báo bằng cách sử dụng HTTPMessageConverters. Chú thích này chỉ ra một tham số phương thức nên được liên kết với phần thân của yêu cầu web.

Ví dụ: Yêu cầu góc cho Spring RequestBody sẽ giống như thế:$scope.user = { username: "foo", auth: true, password: "bar" }; $http.post['//localhost:7777/scan/l/register', $scope.user]. success[function [data, status, headers, config] { ... }]

Điểm cuối với RequestBody:@RequestMapping[method = RequestMethod.POST, produces = "application/json", value = "/register"] public Map register[Model uiModel, @RequestBody User user, HttpServletRequest httpServletRequest] {...

Hi vọng điêu nay co ich.

Chú thích @RequestParam nói với Spring rằng nó sẽ ánh xạ một tham số yêu cầu từ yêu cầu GET/POST sang đối số phương thức của bạn. Ví dụ:

yêu cầu:GET: //someserver.org/path?name=John&surname=Smith

mã điểm cuối:public User getUser[@RequestParam[value = "name"] String name, @RequestParam[value = "surname"] String surname]{ ... }

Về cơ bản, trong khi @RequestBody ánh xạ toàn bộ yêu cầu người dùng [ngay cả đối với POST] thành biến Chuỗi, thì @RequestParam cũng làm như vậy với một [hoặc nhiều hơn - nhưng phức tạp hơn] yêu cầu tham số phương thức của bạn.

@RequestParam làm cho Spring để ánh xạ các tham số yêu cầu từ yêu cầu GET/POST sang đối số phương thức của bạn.

NHẬN Yêu cầu //testwebaddress.com/getInformation.do?city=Sydney&country=Australia public String getCountryFactors[@RequestParam[value = "city"] String city, @RequestParam[value = "country"] String country]{ }

POST Yêu cầu

@RequestBody làm cho Spring ánh xạ toàn bộ yêu cầu đến một lớp mô hình và từ đó bạn có thể truy xuất hoặc đặt giá trị từ các phương thức getter và setter của nó. Kiểm tra bên dưới.//testwebaddress.com/getInformation.do

Bạn có dữ liệu JSON như vậy đến từ giao diện người dùng và truy cập lớp trình điều khiển của bạn{ "city": "Sydney", "country": "Australia" }

Mã Java - phụ trợ [@RequestBody]public String getCountryFactors[@RequestBody Country countryFacts] { countryFacts.getCity[]; countryFacts.getCountry[]; } public class Country { private String city; private String country; public String getCity[] { return city; } public void setCity[String city] { this.city = city; } public String getCountry[] { return country; } public void setCountry[String country] { this.country = country; } }

Rất đơn giản, chỉ cần nhìn vào tên của họ @RequestParam, nó bao gồm hai phần một là "Yêu cầu" có nghĩa là nó sẽ giải quyết yêu cầu và phần khác là "Param", điều đó có nghĩa là nó sẽ chỉ ánh xạ các tham số của yêu cầu Java đối tượng. Tương tự như trường hợp với @RequestBody, nó sẽ xử lý dữ liệu đã được gửi với yêu cầu như nếu khách hàng đã gửi đối tượng json hoặc xml với yêu cầu tại thời điểm đó phải sử dụng @requestbody.

ánh xạ tiêu đề yêu cầu HTTP Content-Type, xử lý phần thân yêu cầu.

  • @RequestParam  application/x-www-form-urlencoded,
  • @RequestBody  application/json,
  • @RequestPart  multipart/form-data,

RequestParam [API mùa xuân 5.1.9.RELEASE API]

ánh xạ tới các tham số truy vấn, dữ liệu biểu mẫu và các phần trong yêu cầu nhiều phần.

RequestParam có khả năng được sử dụng với các trường mẫu giá trị tên

RequestBody [API mùa xuân 5.1.9.RELEASE API]

ràng buộc với cơ thể của yêu cầu web. Phần thân của yêu cầu được chuyển qua HttpMessageConverter để giải quyết đối số phương thức tùy thuộc vào content type của yêu cầu. [ví dụ: JSON, XML]

RequestPart [Spring Framework 5.1.9.RELEASE API]

được sử dụng để liên kết một phần của yêu cầu "multipart/form-data"

RequestPart có khả năng được sử dụng với các phần có nội dung phức tạp hơn

HttpMessageConverter [API mùa xuân 5.1.9.RELEASE API]

một trình chuyển đổi có thể chuyển đổi từ và sang các yêu cầu và phản hồi HTTP.

Tất cả các lớp triển khai đã biết: ..., AbstractJsonHttpMessageConverter , AbstractXmlHttpMessageConverter , ...

Dưới đây là một ví dụ với @RequestBody, Trước tiên hãy xem bộ điều khiển !!  public ResponseEntity postNewProductDto[@RequestBody NewProductDto newProductDto] { ... productService.registerProductDto[newProductDto]; return new ResponseEntity[HttpStatus.CREATED]; .... }

Và đây là bộ điều khiển gócfunction postNewProductDto[] { var url = "/admin/products/newItem"; $http.post[url, vm.newProductDto].then[function [] { //other things go here... vm.newProductMessage = "Product successful registered"; } , function [errResponse] { //handling errors .... } ]; }

Và một cái nhìn ngắn gọn về hình thức Name: Price Quantity Image Insert Item {{vm.newProductMessage}}

Video liên quan

Chủ Đề