스프링부트 v2.3 이상 응답값에 에러메시지 추가

Created:

v2.2 까지는 별다른 추가 설정없이 errors와 message가 포함되서 반환됬는데 v2.3부터는 설정을 필요로한다.

설정값

application.yml 파일내 추가

server:
  error:
    include-message: always
    include-binding-errors: always

설정전 오류 응답

{
    "timestamp": "2023-05-27T07:58:24.274+00:00",
    "status": 400,
    "error": "Bad Request",
    "message": "",
    "path": "/test"
}

설정후 오류 응답

{
    "timestamp": "2023-05-27T08:00:02.910+00:00",
    "status": 400,
    "error": "Bad Request",
    "message": "Validation failed for object='requestDto'. Error count: 1",
    "errors": [
        {
            "codes": [
                "NotEmpty.requestDto.test",
                "NotEmpty.test",
                "NotEmpty.java.lang.String",
                "NotEmpty"
            ],
            "arguments": [
                {
                    "codes": [
                        "requestDto.test",
                        "test"
                    ],
                    "arguments": null,
                    "defaultMessage": "test",
                    "code": "test"
                }
            ],
            "defaultMessage": "must not be empty",
            "objectName": "requestDto",
            "field": "test",
            "rejectedValue": null,
            "bindingFailure": false,
            "code": "NotEmpty"
        }
    ],
    "path": "/test"
}

Comments