2015-02-24 12 views
13

Come si rende facoltativo il corpo nelle chiamate API REST quando si utilizza l'annotazione @RequestBody in primavera?Utilizzare @RequestBody con il corpo facoltativo nell'ultima primavera v4

Con l'ultima versione di Spring, se si utilizza l'annotazione @RequestBody, il client invia il corpo tutto il tempo senza renderlo facoltativo.

Ho provato @RequestBody (required=false) ma quello non ha funzionato & ancora la mia richiesta viene come null.

Come posso ottenere la richiesta convertita all'oggetto richiesto corretto senza rendere obbligatorio il corpo?

Per esempio:

@RequestMapping(value="/add/employee", method=RequestMethod.POST) 
public void addEmployee(@RequestBody Employee employee){ 
    ..... 
} 

Qui, qui voglio aggiungere dipendente usando POST, ma senza corpo. Come lo faccio? L'ultima versione di Spring genera un errore nel corpo mancante se invio un corpo vuoto ...

Grazie!

risposta

19

@Santosh, non sono sicuro di quale argomento richiesto ti riferisci. Mike ha già detto che ha provato ad usare @RequestBody (required=false) e la richiesta era ancora nulla. Potrebbe essere possibile elaborare più & dare esempio.

@Mike, probabilmente puoi provare ad avere un altro convertitore separato che servirà al tuo scopo.

Nota: ho notato lo stesso problema con Spring v4.1.6 & Mike potrebbe usarlo mentre ha menzionato che sta usando l'ultima versione.

3

Immagino che stiate usando la versione primaverile sopra 3.2 in quanto c'era un problema con la versione. @RequestBody should have a required parameter to allow a request body to be optional

Dai un'occhiata alla seguente link Spring @RequestBody Anotation

@RequestBody corpo prende e l'argomento richiesto che è vero per impostazione predefinita. Specificando a false vi aiuterà a

public abstract booleano richiesto

Sia contenuto del corpo è necessario. L'impostazione predefinita è true, che porta a un'eccezione generata nel caso in cui non vi sia alcun contenuto del corpo. Passa a false se preferisci che venga passato null quando il contenuto del corpo è nullo.

Problemi correlati