>  기사  >  Java  >  requestbody와 requestparam의 차이점

requestbody와 requestparam의 차이점

(*-*)浩
(*-*)浩원래의
2020-01-09 10:22:129493검색

requestbody와 requestparam의 차이점

@RequestParam ) 사용 Content-Type을 처리하려면: application/x-www-form- urlencoded 인코딩된 콘텐츠. (Http 프로토콜에서 Content-Type을 지정하지 않으면 기본적으로 전달되는 매개변수는 application/x-www-form-urlencoded 유형입니다.) #

일반적으로 HttpEntity에서 전달하는 데이터를 처리합니다. Content-Type이 아닌: application/x-www-form-urlencoded 인코딩 형식의 데이터를 처리하는 데 사용됩니다.

•GET 요청에는 HttpEntity가 없으므로 @RequestBody가 적용되지 않습니다.

•POST 요청에서 HttpEntity를 통해 전달된 매개변수는 요청 헤더에서 Content-Type 데이터 유형을 선언해야 합니다. SpringMVC는

HandlerAdapter로 구성된 HttpMessageConverters를 사용하여 이를 구문 분석합니다. 그러면 HttpEntity의 데이터가 해당 Bean에 바인딩됩니다.

Summary

•GET 요청에서는 @RequestBody를 사용할 수 없습니다.

•POST 요청에서는 @RequestBody, @RequestParam을 사용할 수 있지만 @RequestBody를 사용하는 경우 매개변수 변환 구성이 통일되어야 합니다.

예를 들어 SpringMVC 구성 HttpMessageConverters 처리 스택에서 Date가 'yyyy-MM-dd'로 변환되는 것과 같은 json 변환 형식을 지정하면 매개 변수는 다음과 같습니다. received 객체에 포함된 필드가 날짜 유형인 경우 클라이언트는 연도, 월, 일 형식만 전달할 수 있으며 시, 분, 초는 전달할 수 없습니다.

인터페이스가 다르기 때문에 해당 매개변수의 시간 매개변수에 대한 형식 요구 사항이 다를 수 있으므로 이렇게 하면 동료에게 전화하는 클라이언트가 매개변수 형식에 대해 약간 혼란스러워하게 되므로 확장성이 높지 않습니다. @RequestParam을 사용하여 매개변수를 허용하는 경우 매개변수를 허용하는 모델에서 @DateFormat을 설정하여 허용해야 하는 시간 매개변수의 형식을 지정할 수 있습니다.

또한 @RequestBody를 사용하여 허용되는 매개변수는 Servlet에 의해 변환되지 않으며 요청 객체의 Param 매개변수 세트에 배치됩니다.

자바 관련 기술 기사를 더 보려면

java tutorial

열을 방문하여 알아보세요!

위 내용은 requestbody와 requestparam의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.