Spring MVC에서 @ResponseBody 주석은 응답의 콘텐츠 유형을 결정하는 데 중요한 역할을 합니다. 클라이언트에게 다시 보냈습니다. 이 주석은 JSON 또는 일반 텍스트와 같은 사용자 지정 응답을 유연한 방식으로 반환할 때 유용합니다.
귀하의 경우 컨트롤러 메서드의 응답이 잘못된 값으로 설정되는 문제가 발생했습니다. 콘텐츠 인코딩. 이는 반환된 값에 적합한 변환기를 찾지 못하면 ISO-8859-1 인코딩으로 폴백하는 Spring MVC의 기본 동작 때문입니다.
이 문제를 해결하고 올바른 변환기를 설정하려면 콘텐츠 유형의 경우 @ResponseBody 주석의 생산 속성을 활용할 수 있습니다. 이 속성을 사용하면 컨트롤러 메소드가 생성할 수 있는 미디어 유형(예: 콘텐츠 유형)을 지정할 수 있습니다.
특정 사례의 경우 컨트롤러 메소드가 UTF-8 인코딩으로 일반 텍스트를 생성하기를 원합니다. 이를 달성하는 방법은 다음과 같습니다.
<code class="java">@RequestMapping(value = "ajax/gethelp") @ResponseBody public String handleGetHelp(Locale loc, String code) { log.debug("Getting help for code: " + code); String help = messageSource.getMessage(code, null, loc); log.debug("Help is: " + help); return help; }</code>
@ResponseBody 주석에 presents = "text/plain; charset=utf-8"을 추가하면 Spring MVC에 다음과 같은 콘텐츠 유형을 명시적으로 설정하도록 지시하게 됩니다. utf-8 문자 세트를 사용하는 text/plain에 대한 응답입니다. 이렇게 하면 응답이 올바르게 인코딩되고 클라이언트 측에 적절하게 표시됩니다.
@RequestMapping 주석은 또한 해당 요청 매핑이 가능한 미디어 유형을 제어하는 데 사용할 수 있는 생산 속성을 지원합니다. 핸들.
위 내용은 Spring MVC에서 @ResponseBody를 사용하여 응답의 콘텐츠 유형을 어떻게 제어할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!