Browse Source

Polishing in DefaultErrorResponseBuilder

Closes gh-30566
pull/30690/head
rstoyanchev 3 years ago
parent
commit
2e43412a82
  1. 84
      spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java

84
spring-web/src/main/java/org/springframework/web/DefaultErrorResponseBuilder.java

@ -43,15 +43,15 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { @@ -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 { @@ -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);
}
@ -81,52 +81,52 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { @@ -81,52 +81,52 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder {
}
@Override
public ErrorResponse.Builder detail(String detail) {
this.problemDetail.setDetail(detail);
public ErrorResponse.Builder type(URI type) {
this.problemDetail.setType(type);
return this;
}
@Override
public ErrorResponse.Builder detailMessageCode(String messageCode) {
Assert.notNull(messageCode, "`detailMessageCode` is required");
this.detailMessageCode = messageCode;
public ErrorResponse.Builder typeMessageCode(String messageCode) {
this.typeMessageCode = messageCode;
return this;
}
@Override
public ErrorResponse.Builder detailMessageArguments(Object... messageArguments) {
this.detailMessageArguments = messageArguments;
public ErrorResponse.Builder title(@Nullable String title) {
this.problemDetail.setTitle(title);
return this;
}
@Override
public ErrorResponse.Builder type(URI type) {
this.problemDetail.setType(type);
public ErrorResponse.Builder titleMessageCode(String messageCode) {
Assert.notNull(messageCode, "`titleMessageCode` is required");
this.titleMessageCode = messageCode;
return this;
}
@Override
public ErrorResponse.Builder typeMessageCode(String messageCode) {
this.typeMessageCode = messageCode;
public ErrorResponse.Builder instance(@Nullable URI instance) {
this.problemDetail.setInstance(instance);
return this;
}
@Override
public ErrorResponse.Builder title(@Nullable String title) {
this.problemDetail.setTitle(title);
public ErrorResponse.Builder detail(String detail) {
this.problemDetail.setDetail(detail);
return this;
}
@Override
public ErrorResponse.Builder titleMessageCode(String messageCode) {
Assert.notNull(messageCode, "`titleMessageCode` is required");
this.titleMessageCode = messageCode;
public ErrorResponse.Builder detailMessageCode(String messageCode) {
Assert.notNull(messageCode, "`detailMessageCode` is required");
this.detailMessageCode = messageCode;
return this;
}
@Override
public ErrorResponse.Builder instance(@Nullable URI instance) {
this.problemDetail.setInstance(instance);
public ErrorResponse.Builder detailMessageArguments(Object... messageArguments) {
this.detailMessageArguments = messageArguments;
return this;
}
@ -140,8 +140,8 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { @@ -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 { @@ -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,23 +198,23 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder { @@ -198,23 +198,23 @@ final class DefaultErrorResponseBuilder implements ErrorResponse.Builder {
}
@Override
public String getDetailMessageCode() {
return this.detailMessageCode;
public String getTypeMessageCode() {
return this.typeMessageCode;
}
@Override
public Object[] getDetailMessageArguments() {
return this.detailMessageArguments;
public String getTitleMessageCode() {
return this.titleMessageCode;
}
@Override
public String getTitleMessageCode() {
return this.titleMessageCode;
public String getDetailMessageCode() {
return this.detailMessageCode;
}
@Override
public String getTypeMessageCode() {
return this.typeMessageCode;
public Object[] getDetailMessageArguments() {
return this.detailMessageArguments;
}
@Override

Loading…
Cancel
Save