source

spring-boot-starter-web의 기본 JSON 오류 응답은 어디에서 왔으며 어떻게 조정합니까?

manycodes 2023. 7. 10. 22:31
반응형

spring-boot-starter-web의 기본 JSON 오류 응답은 어디에서 왔으며 어떻게 조정합니까?

저는 지금까지 봄부츠 프로젝트에 매우 만족하지만, 어떻게 모든 것이 접착제로 연결되어 있는지에 대한 이해를 깊게 하고 싶습니다.spring-boot-starter-web, spring-boot-starter-data-jpa 및 hateoas를 사용하여 멋진 작동하는 REST 백엔드를 조립할 수 있었습니다.하지만 데이터 무결성 위반이 이렇게 JSON 출력으로 멋지게 변환되는 방법이 궁금합니다.저는 사실 제공되는 정보가 마음에 드는데, 어떻게 하면 JSON으로 변환되는 DataObject를 재사용할 수 있는지 궁금합니다.나는 단지 그것이 어디에서 왔고 어디에서 구성되었는지 이해할 수 없습니다.여러분들이 저를 도와주시거나 문서의 관련 부분이나 소스 코드를 알려주시기 바랍니다.

{
  "readyState": 4,
  "responseText": "{\"timestamp\":1423155860435,\"status\":500,\"error\":\"Internal Server Error\",\"exception\":\"org.springframework.dao.InvalidDataAccessResourceUsageException\",\"message\":\"could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet\",\"path\":\"/api/catalog/colorfamilies\"}",
  "responseJSON": {
    "timestamp": 1423155860435,
    "status": 500,
    "error": "Internal Server Error",
    "exception": "org.springframework.dao.InvalidDataAccessResourceUsageException",
    "message": "could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet",
    "path": "/api/catalog/colorfamilies"
  },
  "status": 500,
  "statusText": "Internal Server Error"
}

도와줘서 고마워, 마리우스

출력은 Spring Boot에 의해 생성됩니다.BasicErrorController응용 프로그램이 Spring MVC를 사용하여 예외를 처리하지 않았을 때 폴백으로 사용됩니다.ExceptionHandler또는ControllerAdvice예를 들어) 또는 컨테이너 오류 페이지입니다.

JSON은 다음을 구현하여 생성됩니다.ErrorAttributes기본적으로 Spring Boot은DefaultErrorAttributes직접 생성하여 사용자 정의할 수 있습니다.@Bean그것을 실행하는ErrorAttributes.

자세한 내용은 Spring Boot 설명서의 오류 처리 섹션을 참조하십시오.

언급URL : https://stackoverflow.com/questions/28350445/where-does-the-default-json-errors-response-in-spring-boot-starter-web-comes-fro

반응형