본문 바로가기
Today I learned

Spring, RestController에서 @PathVariable로 email을 넘길때 이슈.

by soheemon 2019. 2. 21.

Controller테스트를 했을때 email의 특정 url에 대해 406 에러 발생하는 문제가 있었다.

(soheemon@test.co.kr은 200OK 반면 soheemon@test.com은 406 error 발생.)


"/isAlreadMember/{email:.+}"


스프링이 .을 기준으로 url을 인식하는것이 문제가 되는것같다.

(자세한 내용은 아래의 포스팅을 참고합니다.)

https://medium.com/@saishav_io/error-406-while-using-and-email-address-as-a-path-variable-in-spring-boot-8caaefc17c7b


해결방법은 위에 나와있는 방법으로도 해결이 안됐다.

"/isAlreadMember/{email:.+}" => 에러발생...


결국 stackOverflow에서 완전한 해결방법을 찾았다.

@GetMapping("/isAlreadMember/{email:.+}/")

/를 하나 더 추가해서 Spring이 .이후에 나오는문자들을 확장자로 인식하지 않도록 하는것 같다. 

https://stackoverflow.com/questions/45189189/spring-rest-request-406-not-acceptable-for-123

댓글