2016-05-01 10 views
0

Ich bin mit Feder-boot-Starter-Bahn, und ich mag die Nachricht von einem Upload-Request-Mapping zurück ändern:Ändern Feder MissingServletRequestPartException Nachricht

@RequestMapping("/upload") 
public @ResponseBody String upload(@RequestParam("file") MultipartFile file){...} 

Was ich für einen HTTP haben/1.1 404 nicht gefunden ist:

{"timestamp":1462064481371,"status":404,"error":"Not Found", 
"exception":"org.springframework.web.multipart.support.MissingServletRequestPartException", 
"message":"Required request part 'file' is not present","path":"/upload"} 

I "Required Anforderungsteil 'Datei' ist nicht vorhanden" ändern wollen für so etwas wie „Parameter fehlt

012.

Gibt es eine einfache Möglichkeit, dies mit Anmerkungen zu erledigen?

Wenn möglich, möchte ich auch die Ausnahmebedingung unterdrücken.

Vielen Dank.

Antwort

0

Ok, die beste Lösung, so weit ist die gesamte Response neu zu schreiben:

@ExceptionHandler(MissingServletRequestPartException.class) 
    public @ResponseBody Map<String,String> handleMissingServletRequestPartException(Exception exception, HttpServletResponse response) { 
     Map<String,String> errorMap = new HashMap<String,String>(); 
     errorMap.put("message","missing parameter"); 
     response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); 
     return errorMap; 
    } 

...

{ "message": "fehlenden Parameter"}

Verwandte Themen