공부하는 블로그입니다!
궁금한 점은 댓글을 달아주세요!
(spring) spring-rest api 중 HTTP Status 415 – Unsupported Media Type 에러
@RequestMapping(value = "/hi", method = RequestMethod.POST, headers = {"Content-type=application/json"})
@ResponseBody
public String testMessage(@RequestBody JSONObject resObj){
return "hi";
}
spring으로 restful을 공부하는데 위의 코드처럼 POST로 받을 때 @RequestBody를 JSONObject로 받으면
밑의 사진과 같은 HTTP Status 415 – Unsupported Media Type
에러가 났다.
이상하게 String으로하면 값을 받을 수 있는데 그 이외의 JSONObject나 Map과 같은 다른 type을 사용하면 저 애러가 난다.
인터넷 보면 의존설정을 잘못했다던가 데이터를 잘못줬다던가 여러가지 이유가 있었는데
이것저것해봐도 오류가 해결되지 않아, 임의로 String으로 받아 JSONParser을 통해 JSONObject로 변환하여 사용하였다.
@RequestMapping(value = "/hi", method = RequestMethod.POST, headers = {"Content-type=application/json"})
@ResponseBody
public String testMessage(@RequestBody String resObj) throws ParseException {
System.out.println("값들어간다." + resObj);
/*String으로 받은 resObj를 JSONObject type으로 변환*/
JSONParser parser = new JSONParser();
Object obj = parser.parse(resObj);
JSONObject jsonObj = (JSONObject) obj;
String code = (String) jsonObj.get("content");
System.out.println(code);
return "HI";
}
Thank You For Reading