인프런 커뮤니티 질문&답변
/mapping-produce 관련 질문입니다.
작성
·
296
0
안녕하세요 영한님 강의 매우매우 잘 듣고 있습니다.
/mapping-produce 설명을 해주실 때 produces ="text/html"로 세팅하서 예제를 보여주셨고, "text/html"이 아닌 다른 형태로 request 날릴 때 406 에러가 나는걸 보여주셨어요
제가 이것 저것 해보다가 "text/plain"으로 날리니까 406 에러 가 발생하지 않고
2021-06-03 23:46:45.944 WARN 67555 --- [nio-8080-exec-4] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
이런 warning이 뜨던데 "text/plain"으로 요청 날렸을 땐 왜 406에러가 발생하지 않는지 궁금합니다.
관련해서 알고 계신 부분이 있으시면 간단하게나마 알려주시면 감사하겠습니다.
매번 강의 들으면서 감사함을 느낍니다 ㅠㅠ 앞으로도 좋은 강의 많이 부탁드립니다
퀴즈
실제 서비스 개발에서 System.out.println 대신 로깅 라이브러리를 사용하는 주된 이유가 무엇일까요?
코드가 더 짧아져요.
성능이 훨씬 빨라요.
로그 레벨 설정으로 출력 레벨을 조절할 수 있어요.
다른 개발자가 보기에 더 멋있어요.
답변 1
2
안녕하세요. 베지밀님
accept=text/plain으로 요청시 HTTP 응답 코드는 동일하게 406이 발생합니다.
응답 데이터는 비어있지만, 화면에 잘 보시면 Status 라는 부분이 406인 것을 확인할 수 있습니다.
오류 메시지가 추가로 보였던 것은
accept가 application/json의 경우 JSON 형태의 오류 메시지를 스프링 부트가 자동으로 생성해서 전달해주는 추가 기능을 제공합니다.
text/plain의 경우 스프링 부트가 이런 기능을 제공하지 않습니다.
감사합니다.




