werfen -Wie eine Ausnahme zurück in JSON in Spring-Boot Ich habe Mapping eine Anfrage
@RequestMapping("/fetchErrorMessages")
public @ResponseBody int fetchErrorMessages(@RequestParam("startTime") String startTime,@RequestParam("endTime") String endTime) throws Exception
{
if(SanityChecker.checkDateSanity(startTime)&&SanityChecker.checkDateSanity(endTime))
{
return 0;
}
else
{
throw new NotFoundException("Datetime is invalid");
}
}
Wenn die Startzeit und endTime ungültig ist, möchte ich ein 500-Fehler werfen, sondern die Ausnahme Zeichenfolge in JSON zurück. Ich bekomme jedoch eine HTML-Seite statt
Whitelabel-Fehler Seite Diese Anwendung hat keine explizite Zuordnung für/Fehler, so dass Sie dies als Fallback sehen.
Mi Dezember 20 10:49:37 IST 2017 Es gab einen unerwarteten Fehler (Typ = Interner Serverfehler, Status = 500). für Datum und Uhrzeit ist ungültig
ich stattdessen mit einem JSON
{"error":"Date time format is invalid"}
Wie kann ich über diese gehen zurück 500 wollte?
Wenn er wirft 'NotFoundException' sollte dann nicht' @ ExceptionHandler' Klasse '@ExceptionHandler (NotFoundException.class)' sein? –
Ja sicher, du hast vollkommen recht damit. Ich habe gerade ein Code-Snippet (die Idee) aus meiner Anwendung gezeigt. Es sollte eine Methode pro Ausnahmetyp sein, glaube ich. –
Sieht so aus, als könnte ich einfach accept headers vom Client senden und die Antwort wird in JSON sein (danke an Jackson) –