zurückgeben Ich arbeite an einer Webanwendung mit Spring MVC und AngularJS, ich erstellen eine Rest-API, die ResponseEntities zurückgibt, die JSON-Zeichenfolgen enthält .Wie man eine Fehlermeldung in einer Methode zurückgibt, die eine ResponseEntity in Spring MVC mit @ControllerAdvice
Ich möchte in der Lage sein, wenn eine Ausnahme eine Zeichenfolge zurückgibt, die die Fehlerursache zu meiner Ansicht enthält und dann diesen Fehler mit einem Modal in AngularJS anzeigen, erstellte ich eine Klasse mit der @ControllerAdvice
Annotation und in dieser Klasse ich definiert ein Verfahren, mit meiner benutzerdefinierten Ausnahme wie diese
@ControllerAdvice
public class GlobalExceptionHandlerController {
@ExceptionHandler(PersonalException.class)
public String handleCustomExceptionRazon(PersonalException ex) {
String errorMessage = "custom error";
return errorMessage;
}
}
ich habe die folgende Schnittstelle
public interface ClientDAO {
public void insertCLiente(Client client) throws PersonalException
}
Und in meiner Implementierung
@Override
public void insertCLiente(Client client) throws PersonalException{
//method implementation
if (searchCLiente(client.name())) {
throw new PersonalException("client aleady exists");
} else {
//method implementation
}
}
Meine searchClient Methode
public boolean searchClient(String name) {
try {
//method implementation
} catch (DataAccessException dataAccessException) {
System.out.println("");
dataAccessException.printStackTrace();
} catch (Exception e) {
System.out.println("");
e.printStackTrace();
}
//method implementation
}
Kundencenter-Controller
@Autowired
ClientDAO clientDAO;
@RequestMapping(value = "/client/", method = RequestMethod.POST)
public ResponseEntity<Void> createClient(@RequestBody final String DTOClientData, UriComponentsBuilder ucBuilder) {
//here I parse the JSON data and create my Client object
//here I dont know how can I return the error message
clientDAO.insertClient(client);
}
Meine benutzerdefinierte Exception
public class PersonalException extends Exception {
public PersonalException (String msg) {
super(msg);
}
}
Ich weiß nicht, un mein clientController Methode create wie kann ich wieder ein Ausnahme des Typs PersonalException, die ich erstellt habe
Danke, aber dieses RestResponse-Objekt haben Sie es erstellt, oder es ist ein Teil oder eine Bibliothek? –
https://github.com/royrusso/spring-mvc-rest-mockito/blob/master/src/main/java/org/royrusso/mvc/rest/RestResponse.java –
ImmutableList.of ("Ausnahmemeldung") ist nur eine Zeichenfolge –