【问题标题】:validation on REST request payload验证 REST 请求负载
【发布时间】:2016-08-11 13:04:33
【问题描述】:

我正在尝试使用“hibernate-validator-5.1.3.final”jar 对 REST 请求应用验证。我可以为外部 bean 执行此操作,但不能为内部 bean 执行此操作。所以任何人都可以帮我这样做。提前致谢。

通过邮递员请求

{
    "employeeDetails": [{
                           "employeeId": "123456",
                           "dept" : 101,
                           "salary" : 30000,
                           "status":"active"                              
                }]
}

pom.xml

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.1.3.Final</version>
</dependency>

控制器

@RequestMapping(method = RequestMethod.POST, value = "/addEmployee", headers = "Accept=application/json")
    public @ResponseBody void addEmployee(
            @RequestHeader @Valid @RequestBody AddEmployeeBean requestBean,
            HttpServletRequest httpRequest) {.....}

外部 Bean - AddEmployeeBean

public class AddEmployeeBean {
    @Valid
    private EmployeeBean employeeBean;
    @NotEmpty
    private List<EmployeeBean> employeeDetails;
           |
           |
         getter- setter  
}

内部 Bean - EmployeeBean

public class EmployeeBean {
    @NotEmpty
    private String employeeId;
    @NumberFormat(style = Style.NUMBER)
    private long dept;
    @NumberFormat(style = Style.NUMBER)
    private long salary;
    @NotEmpty
    private String status;
           |
           |
         getter- setter 
}   

【问题讨论】:

  • 任何人请回答我的问题。

标签: java web-services rest validation spring-mvc


【解决方案1】:

检查this 以获取解决您问题的方法。希望对您有所帮助。

【讨论】:

  • 根据您提供的链接,我已经更新了如下所述的外部 bean,但现在即使我发送正确的请求有效负载,它的发送响应为 - “客户端发送的请求在语法上不正确 () - 带有 Http 状态 -400" -
猜你喜欢
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 2021-08-11
  • 1970-01-01
相关资源
最近更新 更多