특정 요청에 따른 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 |