【发布时间】:2015-06-29 17:41:55
【问题描述】:
我有以下控制器。我正在使用 Spring 创建 Restful API。
@RestController
public class UserController extends RestControlValidator {
@RequestMapping(value = "/user/", method = RequestMethod.POST, headers = "Accept=application/json", consumes = "application/json", produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody List newUser(@RequestBody @Valid UserInput input,BindingResult result)
{Some code}
}
UserInput 类如下所示:
public class UserInput{
@NotEmpty
private String emailId;
@NotEmpty
private String fName;
private String lName;
private int sex;
//getters and setters
现在,当我尝试使用数据 {"sex":"Male"} 访问 /user/ 时,我得到以下响应:
我希望此类请求的响应是:
{"errors":{"sex":"The value must be an integer"}}
有没有办法在 Spring 中自定义 BAD REQUEST 响应?
【问题讨论】:
-
@Mudassar 它的目的是作为一个发布请求。我通过 POST 访问它。响应的状态码符合预期。我只是想更改我收到的错误请求的响应
-
对不起哥们,我意识到晚了,所以立即删除了
-
您正在寻找的验证是仅适用于性别变量还是适用于所有变量类型。
-
@Mudassar 不只是一个变量。我希望概括 400 响应代码的响应。根据提出 BAD REQUEST 的字段,我希望修改 API 提供的响应。例如回复可能是
{"errors":{"fName":"This field cannot be empty"}}
标签: java spring rest spring-mvc