특정 요청에 따른 JSON 응답을 해주기 위해 @ResponseBody를 이용하여
아래와 같은 코드를 작성하였습니다.
로 Controller의 메소드의 리턴 타입을 정의합니다.
아래와 같은 코드를 작성하였습니다.
@RequestMapping(value="/json", method=RequestMethod.GET)
@ResponseBody
public String responseBodyJsonOutput() {
return "~~~~~~";
} |
그러나 여지없이 한글 Encoding 문제가 되어 ??? 로 표기되는 현상이 일어나는..
구글링 결과 Filter를 이용하는 방법과 String의 Encoding 재설정 등 여러가지 방법을 시도하였으나 결과는 동일...
성공한 방법은 일단 SpringContext 에 아래와 같이 StringHttpMessageConverter Bean을 정의합니다.
<!-- StringHttpMessageConverter UTF-8 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <value>text/plain;charset=UTF-8</value> </property> </bean> </list> </property> </bean> |
그리고 아래와 같이 @ResponseBody 를 이용하지 않,고 ResponseEntity
@RequestMapping(value="json", method=RequestMethod.GET)
public ResponseEntity<string> getNotifierLogList() {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "text/html; charset=UTF-8");
return new ResponseEntity<string>("~~~~jsondata~~~~`", responseHeaders, HttpStatus.CREATED);
}
</string></string> |
'Programming > Spring' 카테고리의 다른 글
| Mybatis Mapper (0) | 2012.09.28 |
|---|---|
| Spring Annotation - @Component, @Service, @Repository, @Controller (0) | 2012.09.28 |
| @Qualifier (0) | 2012.09.28 |
| Autowired (0) | 2012.09.28 |
| BeanFactory, ApplicationContext (0) | 2012.04.24 |