Browse Source

Leverage the nullability defined at type level

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
pull/36238/head
Tran Ngoc Nhan 1 month ago
parent
commit
4fa027d13c
  1. 32
      spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityExceptionHandler.java
  2. 48
      spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseEntityExceptionHandler.java

32
spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityExceptionHandler.java

@ -105,7 +105,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -105,7 +105,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
ErrorResponseException.class,
MethodValidationException.class
})
public final Mono<ResponseEntity<Object>> handleException(Exception ex, ServerWebExchange exchange) {
public final Mono<ResponseEntity<@Nullable Object>> handleException(Exception ex, ServerWebExchange exchange) {
if (ex instanceof MethodNotAllowedException theEx) {
return handleMethodNotAllowedException(theEx, theEx.getHeaders(), theEx.getStatusCode(), exchange);
}
@ -159,7 +159,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -159,7 +159,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleMethodNotAllowedException(
protected Mono<ResponseEntity<@Nullable Object>> handleMethodNotAllowedException(
MethodNotAllowedException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -175,7 +175,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -175,7 +175,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleNotAcceptableStatusException(
protected Mono<ResponseEntity<@Nullable Object>> handleNotAcceptableStatusException(
NotAcceptableStatusException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -191,7 +191,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -191,7 +191,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleUnsupportedMediaTypeStatusException(
protected Mono<ResponseEntity<@Nullable Object>> handleUnsupportedMediaTypeStatusException(
UnsupportedMediaTypeStatusException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -207,7 +207,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -207,7 +207,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleMissingRequestValueException(
protected Mono<ResponseEntity<@Nullable Object>> handleMissingRequestValueException(
MissingRequestValueException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -223,7 +223,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -223,7 +223,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleUnsatisfiedRequestParameterException(
protected Mono<ResponseEntity<@Nullable Object>> handleUnsatisfiedRequestParameterException(
UnsatisfiedRequestParameterException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -239,7 +239,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -239,7 +239,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleWebExchangeBindException(
protected Mono<ResponseEntity<@Nullable Object>> handleWebExchangeBindException(
WebExchangeBindException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -256,7 +256,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -256,7 +256,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code Mono} with the {@code ResponseEntity} for the response
* @since 6.1
*/
protected Mono<ResponseEntity<Object>> handleHandlerMethodValidationException(
protected Mono<ResponseEntity<@Nullable Object>> handleHandlerMethodValidationException(
HandlerMethodValidationException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -272,7 +272,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -272,7 +272,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleServerWebInputException(
protected Mono<ResponseEntity<@Nullable Object>> handleServerWebInputException(
ServerWebInputException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -288,7 +288,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -288,7 +288,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleResponseStatusException(
protected Mono<ResponseEntity<@Nullable Object>> handleResponseStatusException(
ResponseStatusException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -304,7 +304,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -304,7 +304,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleServerErrorException(
protected Mono<ResponseEntity<@Nullable Object>> handleServerErrorException(
ServerErrorException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -320,7 +320,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -320,7 +320,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleErrorResponseException(
protected Mono<ResponseEntity<@Nullable Object>> handleErrorResponseException(
ErrorResponseException ex, HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -336,7 +336,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -336,7 +336,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code Mono} with the {@code ResponseEntity} for the response
* @since 6.1
*/
protected Mono<ResponseEntity<Object>> handleMethodValidationException(
protected Mono<ResponseEntity<@Nullable Object>> handleMethodValidationException(
MethodValidationException ex, HttpStatus status, ServerWebExchange exchange) {
ProblemDetail body = createProblemDetail(ex, status, "Validation failed", null, null, exchange);
@ -394,7 +394,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -394,7 +394,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @param exchange the current request and response
* @return a {@code Mono} with the {@code ResponseEntity} for the response
*/
protected Mono<ResponseEntity<Object>> handleExceptionInternal(
protected Mono<ResponseEntity<@Nullable Object>> handleExceptionInternal(
Exception ex, @Nullable Object body, @Nullable HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
@ -421,11 +421,11 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -421,11 +421,11 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code Mono} with the created {@code ResponseEntity}
* @since 6.0
*/
protected Mono<ResponseEntity<Object>> createResponseEntity(
protected Mono<ResponseEntity<@Nullable Object>> createResponseEntity(
@Nullable Object body, @Nullable HttpHeaders headers, HttpStatusCode status,
ServerWebExchange exchange) {
return Mono.just(new ResponseEntity<>(body, headers, status));
return Mono.just(new ResponseEntity<@Nullable Object>(body, headers, status));
}
}

48
spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ResponseEntityExceptionHandler.java

@ -135,7 +135,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -135,7 +135,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
MethodValidationException.class,
AsyncRequestNotUsableException.class
})
public final @Nullable ResponseEntity<Object> handleException(Exception ex, WebRequest request) throws Exception {
public final @Nullable ResponseEntity<@Nullable Object> handleException(Exception ex, WebRequest request) throws Exception {
if (ex instanceof HttpRequestMethodNotSupportedException subEx) {
return handleHttpRequestMethodNotSupported(subEx, subEx.getHeaders(), subEx.getStatusCode(), request);
}
@ -219,7 +219,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -219,7 +219,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleHttpRequestMethodNotSupported(
protected @Nullable ResponseEntity<@Nullable Object> handleHttpRequestMethodNotSupported(
HttpRequestMethodNotSupportedException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
pageNotFoundLogger.warn(ex.getMessage());
@ -236,7 +236,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -236,7 +236,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleHttpMediaTypeNotSupported(
protected @Nullable ResponseEntity<@Nullable Object> handleHttpMediaTypeNotSupported(
HttpMediaTypeNotSupportedException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -252,7 +252,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -252,7 +252,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleHttpMediaTypeNotAcceptable(
protected @Nullable ResponseEntity<@Nullable Object> handleHttpMediaTypeNotAcceptable(
HttpMediaTypeNotAcceptableException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -269,7 +269,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -269,7 +269,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 4.2
*/
protected @Nullable ResponseEntity<Object> handleMissingPathVariable(
protected @Nullable ResponseEntity<@Nullable Object> handleMissingPathVariable(
MissingPathVariableException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -285,7 +285,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -285,7 +285,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleMissingServletRequestParameter(
protected @Nullable ResponseEntity<@Nullable Object> handleMissingServletRequestParameter(
MissingServletRequestParameterException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -301,7 +301,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -301,7 +301,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleMissingServletRequestPart(
protected @Nullable ResponseEntity<@Nullable Object> handleMissingServletRequestPart(
MissingServletRequestPartException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -317,7 +317,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -317,7 +317,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleServletRequestBindingException(
protected @Nullable ResponseEntity<@Nullable Object> handleServletRequestBindingException(
ServletRequestBindingException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -333,7 +333,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -333,7 +333,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleMethodArgumentNotValid(
protected @Nullable ResponseEntity<@Nullable Object> handleMethodArgumentNotValid(
MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -350,7 +350,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -350,7 +350,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.1
*/
protected @Nullable ResponseEntity<Object> handleHandlerMethodValidationException(
protected @Nullable ResponseEntity<@Nullable Object> handleHandlerMethodValidationException(
HandlerMethodValidationException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -367,7 +367,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -367,7 +367,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 4.0
*/
protected @Nullable ResponseEntity<Object> handleNoHandlerFoundException(
protected @Nullable ResponseEntity<@Nullable Object> handleNoHandlerFoundException(
NoHandlerFoundException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -384,7 +384,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -384,7 +384,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.1
*/
protected @Nullable ResponseEntity<Object> handleNoResourceFoundException(
protected @Nullable ResponseEntity<@Nullable Object> handleNoResourceFoundException(
NoResourceFoundException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -401,7 +401,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -401,7 +401,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 4.2.8
*/
protected @Nullable ResponseEntity<Object> handleAsyncRequestTimeoutException(
protected @Nullable ResponseEntity<@Nullable Object> handleAsyncRequestTimeoutException(
AsyncRequestTimeoutException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -418,7 +418,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -418,7 +418,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.0
*/
protected @Nullable ResponseEntity<Object> handleErrorResponseException(
protected @Nullable ResponseEntity<@Nullable Object> handleErrorResponseException(
ErrorResponseException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -435,7 +435,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -435,7 +435,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.1
*/
protected @Nullable ResponseEntity<Object> handleMaxUploadSizeExceededException(
protected @Nullable ResponseEntity<@Nullable Object> handleMaxUploadSizeExceededException(
MaxUploadSizeExceededException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
@ -454,7 +454,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -454,7 +454,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleConversionNotSupported(
protected @Nullable ResponseEntity<@Nullable Object> handleConversionNotSupported(
ConversionNotSupportedException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
Object[] args = {ex.getPropertyName(), ex.getValue()};
@ -477,7 +477,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -477,7 +477,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleTypeMismatch(
protected @Nullable ResponseEntity<@Nullable Object> handleTypeMismatch(
TypeMismatchException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
Object[] args = {ex.getPropertyName(), ex.getValue(),
@ -502,7 +502,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -502,7 +502,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleHttpMessageNotReadable(
protected @Nullable ResponseEntity<@Nullable Object> handleHttpMessageNotReadable(
HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
ProblemDetail body = createProblemDetail(ex, status, "Failed to read request", null, null, request);
@ -522,7 +522,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -522,7 +522,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleHttpMessageNotWritable(
protected @Nullable ResponseEntity<@Nullable Object> handleHttpMessageNotWritable(
HttpMessageNotWritableException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) {
ProblemDetail body = createProblemDetail(ex, status, "Failed to write request", null, null, request);
@ -543,7 +543,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -543,7 +543,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.1
*/
protected @Nullable ResponseEntity<Object> handleMethodValidationException(
protected @Nullable ResponseEntity<@Nullable Object> handleMethodValidationException(
MethodValidationException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
ProblemDetail body = createProblemDetail(ex, status, "Validation failed", null, null, request);
@ -559,7 +559,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -559,7 +559,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* {@code null} when the response is already committed
* @since 6.2
*/
protected @Nullable ResponseEntity<Object> handleAsyncRequestNotUsableException(
protected @Nullable ResponseEntity<@Nullable Object> handleAsyncRequestNotUsableException(
AsyncRequestNotUsableException ex, WebRequest request) {
return null;
@ -614,7 +614,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -614,7 +614,7 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return a {@code ResponseEntity} for the response to use, possibly
* {@code null} when the response is already committed
*/
protected @Nullable ResponseEntity<Object> handleExceptionInternal(
protected @Nullable ResponseEntity<@Nullable Object> handleExceptionInternal(
Exception ex, @Nullable Object body, HttpHeaders headers, HttpStatusCode statusCode, WebRequest request) {
if (request instanceof ServletWebRequest servletWebRequest) {
@ -650,10 +650,10 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa @@ -650,10 +650,10 @@ public abstract class ResponseEntityExceptionHandler implements MessageSourceAwa
* @return the {@code ResponseEntity} instance to use
* @since 6.0
*/
protected ResponseEntity<Object> createResponseEntity(
protected ResponseEntity<@Nullable Object> createResponseEntity(
@Nullable Object body, HttpHeaders headers, HttpStatusCode statusCode, WebRequest request) {
return new ResponseEntity<>(body, headers, statusCode);
return new ResponseEntity<@Nullable Object>(body, headers, statusCode);
}
}

Loading…
Cancel
Save