优化
This commit is contained in:
@@ -13,6 +13,8 @@ import org.springframework.validation.FieldError;
|
||||
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
|
||||
import org.springframework.web.bind.MissingRequestHeaderException;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@@ -87,6 +89,20 @@ class GlobalExceptionHandlerTest {
|
||||
.tag("code", ResultCode.CONFLICT.code()).counter().count()).isEqualTo(1.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void responseStatusConflictMapsToCanonicalConflictInsteadOfInternalError() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setAttribute(CorrelationContext.REQUEST_ID, "stale-version");
|
||||
|
||||
var response = handler.handleResponseStatus(
|
||||
new ResponseStatusException(HttpStatus.CONFLICT, "Order was changed; refresh and retry"), request);
|
||||
|
||||
assertThat(response.getStatusCode().value()).isEqualTo(200);
|
||||
assertThat(response.getBody().code()).isEqualTo(ResultCode.CONFLICT.code());
|
||||
assertThat(response.getBody().message()).isEqualTo("Order was changed; refresh and retry");
|
||||
assertThat(response.getBody().requestId()).isEqualTo("stale-version");
|
||||
}
|
||||
|
||||
private void paging(long page) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user