请求Body具有可选属性

nie*_*gus 7 spring spring-mvc

我有一个端点,通过POST请求接收JSON.

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

LoginRequest:

public class LoginRequest {

    private String user;

    private String password;

    private String idPush;

    private Integer idDevice;

    // getters and setters

}
Run Code Online (Sandbox Code Playgroud)

无论如何我可以指定idDevice作为可选项吗?

如果我不在json中发送idDevice,Spring会返回400错误.

nie*_*gus 11

似乎将RequestBody设置为可选,使任何属性都可选,而不仅仅是完整的bean.

public LoginResponse logIn(@RequestBody(required=false) LoginRequest jsonRequest) {
Run Code Online (Sandbox Code Playgroud)