개발 기록이
[Error] 406 에러 해결 방법 (feat.브라우저에 JSON 출력) 본문
@Restcontroller를 이용해서 ResponseEntity로 JSON 값들을 브라우저로 출력하던 중 406 에러가 발생했다.
@RequestMapping(value = "/test", method= RequestMethod.GET, produces = { "application/json;charset=UTF-8" })
public ResponseEntity<HashMap<String, Object>> test(HttpServletRequest request, @RequestParam HashMap<String, Object> param) {
HashMap<String, Object> resultMap = new HashMap<String, Object>();
List<HashMap<String, Object>> list = null;
if (param.isEmpty() || !(param.containsKey("testingParam1"))) {
resultMap.put("result", "param error!");
} else {
list = testService.getBoardList(param);
resultMap.put("result", "success");
}
return ResponseEntity.status(HttpStatus.OK).body(resultMap);
}
[ 406 에러 원인 ]
서버에서 Accept 등의 헤더에 적혀있는 형식을 생성해 낼 수 없을 때 발생한다고 한다.
[ 해결방안 ]
1. servlet-context.xml
<annotation-driven /> 유무 확인
2. web.xml
appServlet의 url-pattern이 /* 로 되어있는지 확인
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
3. @RequestMapping 에 URI Mapping 잘 작성했는지 확인
4. pom.xml 에 jackson 라이브러리 추가
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
* Jackson 라이브러리
자바용 json 라이브러리로 Json 뿐만 아니라 XML/YAML/CSV 등 다양한 형식의 데이터를 지원하는 data-processing 툴.
JSON 출력 성공!
출처: https://joddev.github.io/2018/11/19/406-Not-Acceptable-in-Spring.html , https://devkingdom.tistory.com/15
'Error 모음집' 카테고리의 다른 글
[ERROR] tomcat 서버 There is insufficient memory for the Java Runtime Environment (0) | 2024.07.18 |
---|---|
[ERROR] SVN is out of date 에러 해결 방법 (0) | 2023.12.23 |
[ERROR] Uncaught TypeError: Cannot read properties of undefined (reading 'replace') (0) | 2023.11.04 |
[ERROR] SVN E155004 error 해결하기 (0) | 2023.08.12 |
[ERROR] mongoose 연동 에러 해결방법 (0) | 2022.12.09 |