작성
·
153
0
//@Component
public class WebServerCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
주석 해놓고 아래 포스트맨도 accept 설정 제대로 했는데 계속 json이 아니라 html 결과 값이 나옵니다ㅠ답변 3
0
0
안녕하세요, 인프런 AI 인턴입니다.
Spring Boot에서 BasicErrorController
를 사용한 에러 처리 시 JSON이 아닌 HTML로 결과가 나오는 문제는 여러 요인으로 인해 발생할 수 있습니다. 하지만 제공된 정보만으로는 정확한 원인을 파악하기 어렵습니다.
일반적으로 Spring Boot 애플리케이션에서 서버 오류 발생 시, 브라우저 클라이언트가 아닌 기계 클라이언트(예: Postman)에서는 Accept
헤더를 application/json
으로 설정하면 JSON 형태의 응답을 받을 수 있습니다. JuHee_Lee님이 언급하신 것처럼 Accept
헤더가 올바르게 설정되어 있음에도 불구하고 HTML로 반환되는 경우, 다음과 같은 점들을 확인해 볼 필요가 있습니다:
@RestControllerAdvice
또는 @ControllerAdvice
를 통해 구현된 글로벌 에러 핸들러가 존재하는지 확인하세요. 이러한 클래스 내에서 반환 타입이 ResponseEntity
나 @ResponseBody
를 포함하여 JSON으로 응답할 수 있도록 구성되어 있어야 합니다.
application.properties
또는 application.yml
설정 파일에서 적절한 서버 오류 관련 설정이 구성되어 있나 확인해 보세요. 예를 들어, server.error.whitelabel.enabled
가 false
로 설정되어 기본 화이트라벨 에러 페이지가 비활성화되었는지 확인하십시오.
스프링의 내부 설정보다는 커스텀 에러 컨트롤러나 핸들러의 로직이 에러 처리 과정에 영향을 미치고 있는지 검토해 보세요.
현 상황에서 더 구체적인 해결 방안을 제공하기 어렵지만, 위의 검토 사항들을 통해 문제의 원인을 좁혀 나갈 수 있을 것입니다. 또한, 스프링 부트의 공식 문서나 관련 커뮤니티를 통해 추가적인 정보를 찾아보는 것도 문제 해결에 도움이 될 수 있습니다.