pooney

 

@RequestBody를 사용하여 JSON 데이터를 받으려고 하는데 JSON parse error 에러가 나는 경우가 있다. 

이때 살펼 볼것은 더블쿼터이다. 나는 rest api를 테스터하려고 curl을 사용하여 요청을 하였다. 

 

 

변경전 

curl -X POST http://localhost:9090/hi -H "Content-Type: application/json" -d '{"name":"qoqoqo"}'

 

 

Error

2020-05-19 22:34:00.509  WARN 24768 --- [nio-9090-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character (''' (code 39)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character (''' (code 39)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (PushbackInputStream); line: 1, column: 2]]

 

 

 

Error 이유 

 

싱클 쿼터를 이용하여 결고 닫았기 때문이다.  이를 해결 하기 위하여 이스케이프 \ 를 사용하여 처리하여 요청 하였더니 정상작동 하였다.

 

변경후

curl -X POST http://localhost:9090/hi -H "Content-Type: application/json" -d "{\"name\":\"qoqoqo\"}"

 

profile

pooney

@pooney

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!