diff --git a/spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java b/spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java index 57cedd589d..e1238a982c 100644 --- a/spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java @@ -43,15 +43,15 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { private final ProblemDetail problemDetail; + private String typeMessageCode; + + private String titleMessageCode; + private String detailMessageCode; @Nullable private Object[] detailMessageArguments; - private String titleMessageCode; - - private String typeMessageCode; - DefaultErrorResponseBuilder(Throwable ex, HttpStatusCode statusCode, String detail) { Assert.notNull(ex, "Throwable is required"); @@ -60,9 +60,9 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { this.exception = ex; this.statusCode = statusCode; this.problemDetail = ProblemDetail.forStatusAndDetail(statusCode, detail); - this.detailMessageCode = ErrorResponse.getDefaultDetailMessageCode(ex.getClass(), null); - this.titleMessageCode = ErrorResponse.getDefaultTitleMessageCode(ex.getClass()); this.typeMessageCode = ErrorResponse.getDefaultTypeMessageCode(ex.getClass()); + this.titleMessageCode = ErrorResponse.getDefaultTitleMessageCode(ex.getClass()); + this.detailMessageCode = ErrorResponse.getDefaultDetailMessageCode(ex.getClass(), null); } @@ -80,25 +80,6 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { return this; } - @Override - public ErrorResponse.Builder detail(String detail) { - this.problemDetail.setDetail(detail); - return this; - } - - @Override - public ErrorResponse.Builder detailMessageCode(String messageCode) { - Assert.notNull(messageCode, "`detailMessageCode` is required"); - this.detailMessageCode = messageCode; - return this; - } - - @Override - public ErrorResponse.Builder detailMessageArguments(Object... messageArguments) { - this.detailMessageArguments = messageArguments; - return this; - } - @Override public ErrorResponse.Builder type(URI type) { this.problemDetail.setType(type); @@ -130,6 +111,25 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { return this; } + @Override + public ErrorResponse.Builder detail(String detail) { + this.problemDetail.setDetail(detail); + return this; + } + + @Override + public ErrorResponse.Builder detailMessageCode(String messageCode) { + Assert.notNull(messageCode, "`detailMessageCode` is required"); + this.detailMessageCode = messageCode; + return this; + } + + @Override + public ErrorResponse.Builder detailMessageArguments(Object... messageArguments) { + this.detailMessageArguments = messageArguments; + return this; + } + @Override public ErrorResponse.Builder property(String name, @Nullable Object value) { this.problemDetail.setProperty(name, value); @@ -140,8 +140,8 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { public ErrorResponse build() { return new SimpleErrorResponse( this.exception, this.statusCode, this.headers, this.problemDetail, - this.detailMessageCode, this.detailMessageArguments, this.titleMessageCode, - this.typeMessageCode); + this.typeMessageCode, this.titleMessageCode, this.detailMessageCode, + this.detailMessageArguments); } @@ -158,28 +158,28 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { private final ProblemDetail problemDetail; + private final String typeMessageCode; + + private final String titleMessageCode; + private final String detailMessageCode; @Nullable private final Object[] detailMessageArguments; - private final String titleMessageCode; - - private final String typeMessageCode; - SimpleErrorResponse( Throwable ex, HttpStatusCode statusCode, @Nullable HttpHeaders headers, ProblemDetail problemDetail, - String detailMessageCode, @Nullable Object[] detailMessageArguments, String titleMessageCode, - String typeMessageCode) { + String typeMessageCode, String titleMessageCode, String detailMessageCode, + @Nullable Object[] detailMessageArguments) { this.exception = ex; this.statusCode = statusCode; this.headers = (headers != null ? headers : HttpHeaders.EMPTY); this.problemDetail = problemDetail; + this.typeMessageCode = typeMessageCode; + this.titleMessageCode = titleMessageCode; this.detailMessageCode = detailMessageCode; this.detailMessageArguments = detailMessageArguments; - this.titleMessageCode = titleMessageCode; - this.typeMessageCode = typeMessageCode; } @Override @@ -198,13 +198,8 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { } @Override - public String getDetailMessageCode() { - return this.detailMessageCode; - } - - @Override - public Object[] getDetailMessageArguments() { - return this.detailMessageArguments; + public String getTypeMessageCode() { + return this.typeMessageCode; } @Override @@ -213,8 +208,13 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { } @Override - public String getTypeMessageCode() { - return this.typeMessageCode; + public String getDetailMessageCode() { + return this.detailMessageCode; + } + + @Override + public Object[] getDetailMessageArguments() { + return this.detailMessageArguments; } @Override