2015-10-06 44 views
4

我有一個通過POST請求接收JSON的端點。具有可選屬性的請求主體

RequestMapping(value = "/app/login", method = RequestMethod.POST, 
     headers = { "Content-type=application/json" }) 
@ResponseBody 
public LoginResponse logIn(@RequestBody LoginRequest jsonRequest) { 
    // code 
} 

LoginRequest:

public class LoginRequest { 

    private String user; 

    private String password; 

    private String idPush; 

    private Integer idDevice; 

    // getters and setters 

} 

反正我有可以指定idDevice爲可選?

如果我不在json內部發送idDevice,Spring會返回400錯誤。

回答

8

似乎將RequestBody設置爲可選,使得任何屬性都是可選的,不僅是完整的bean。

public LoginResponse logIn(@RequestBody(required=false) LoginRequest jsonRequest) {