Spring Boot 3.0.0+ @Override -Fehler in ResponseEntityExceptionHandler

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Spring Boot 3.0.0+ @Override -Fehler in ResponseEntityExceptionHandler

by Anonymous » 06 Feb 2025, 08:33

Ich folge dieses Beispiel Parameter. Die Konzepte sind etwas klar, aber nachdem ich diesen Punkt erreicht habe, gibt mir die Verwendung von @Override für die HandlemethodargumentNotValid -Methode einen Fehler wie: Methode überschreibt nicht von der Superklasse . < Br /> Ich habe online gesucht, um herauszufinden, wie man dieses Problem löst, aber ich fehlt wahrscheinlich etwas. < /p>

Code: Select all

package com.tericcabrel.hotel.exceptions;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;

@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
@Override
protected ResponseEntity handleMethodArgumentNotValid(
MethodArgumentNotValidException ex, HttpHeaders headers,
HttpStatus status, WebRequest request) {

Map body = new HashMap();

List errors = ex.getBindingResult()
.getFieldErrors()
.stream()
.map(DefaultMessageSourceResolvable::getDefaultMessage)
.collect(Collectors.toList());

body.put("errors", errors);

return new ResponseEntity(body, HttpStatus.BAD_REQUEST);
}
}

Top