java - 在没有注释的情况下强制对 Spring MVC Controller 的 JSON 主体中的字符串值进行全局验证

标签 java spring spring-mvc

我想问一下是否存在一种合理的方法来验证 MVC Controller 的 JSON @RequestBody 中的所有字符串字段/值:

  • 所有String类型的字段默认都会被校验,除非被特殊注解覆盖
  • 验证应该检查允许的字符和长度

我知道的解决方案,但似乎不适合用例:

  • javax.validation via annotations -- 一定不要忘记添加注释,除非另有说明,否则应对每个字符串执行验证
  • org.springframework.validation.Validator 最有可能,但有相当多的自定义反射代码
  • 单元测试中的某种组件扫描,检查名称中具有特定后缀 (*DTO?) 的类是否具有带有验证注释的所有字符串字段注释
  • 使用 javax.validation + code-review

最佳答案

我们都知道我们可以使用xsd来验证xml实例。如果你也想继续使用 JSON。也许您需要结帐 json schema .

至于java validator 。可以引用here

希望对您有所帮助。

关于java - 在没有注释的情况下强制对 Spring MVC Controller 的 JSON 主体中的字符串值进行全局验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56446663/

相关文章:

java - Java泛型的不兼容类

spring - Junit测试Spring服务和DAO层

java - Spring注解-未登录用户重定向

java - 让 Eclipse 警告性能错误

java不兼容类型编译器错误

java - 错误: org. hibernate.PropertyNotFoundException : no appropriate constructor in class: com. a.offering.dto.SellerDetailsDto

java - Spring获取Session类对象

java - JoinPoint 或 ProceedingJoinPoint 的对象为什么可以调用方法?

spring-mvc - 使用 Spring MVC 处理 MaxUploadSizeExceededException

java - 防止 java 变压器被替换