当前位置: 首页 > 知识库问答 >
问题:

java - 如何做好嵌套数据的验证呢?

段干博涉
2023-11-18

数据格式

{    "code":"唯一验证",    "category":"DB存在,且状态为启用",    "items":[        {"code":"唯一验证"},        {"code":"唯一验证"}    ]}

需求点

  • 基础验证:必填、长度等验证、正则等
  • 通过基础验证后,再验证DB类查询的项,比如唯一性
  • 减少查询次数,比如示例中code字段都是从一个表中查询

基本验证,一般是通过注解来完成,那么涉及到DB查询的,也是通过自定义注解,还是在service层验证呢?或是有其他的什么手段,使其简洁明了。

共有1个答案

单于帅
2023-11-18

基础验证我一般放在 controller 层,对于不同接口,验证要求可能不一样,比如用户名验证,如果给后台接口,我可能不限制长度,如果对于前台接口,我可能限制长度至少3位。

如果是数据库之类的验证,比如唯一性,那是越靠后越好,我以前开发是三层(dao, service, controller),就放在现在dao层,现在用 mybatis 就两层(service, controller),那就放在 service 层了。

对于第三点我没理解什么意思,是不是一个表里面多个字段验证唯一性,用或(OR)那也是一条查询语句够了呀。

 类似资料:
  • 在使用空手道框架进行API测试时,我在验证嵌套JSON响应时遇到了一些问题。 JSON响应: null def feed_cycle={item_type:'#string',title:'#string'} def feed_college_dept_branch={branch:'#string'} def feed_college={item_type:'#string',dept:'[]f

  • 问题内容: 使用flask式的微框架,我很难构建一个RequestParser可以验证嵌套资源的。假设期望的JSON资源格式为: 中的每个项目都对应一个对象: …然后使用如下形式创建一个: …但是你将如何验证其中MyObject每个字典的嵌套?或者,这是错误的方法吗? 与此对应的API MyObject本质上将每个对象视为对象文字,并且可能有一个或多个传递给服务;因此,在这种情况下,拼合资源格式将

  • 我正在对嵌套的Json使用Avro模式使用Apache Nifi验证记录。我对JSON中的字段有特殊问题。 架构: Json数据: 无效消息: 此FlowFile中的记录无效,原因如下:;以下1个字段的值类型与架构不匹配:[/test_attributes/nested_field] 我不明白这个信息。我想象Json是有效的,因此处理器不应该使处理器失效。我错过了什么? 编辑:*删除了示例JSON

  • 我想把验证放在角度6中。它应该包含字母数字字符。字母或数字,仅3到9位。如果是数字,则应以1开头。 任何人都可以帮助我进行这些验证吗?

  • 问题内容: 我正在使用数据对象作为ReactJS中组件的道具。 我知道容易验证PropTypes对象本身: 但是,如果我想验证其中的值怎么办?即。data.id,data.title? 问题答案: 您可以用来验证属性: 更新资料 正如@Chris在评论中指出的那样,从React 15.5.0版本开始已移至package 。 更多信息

  • 我使用的是OpenApi规范,这是生成类的代码示例: 我想禁止发送以下请求: 如果我使用了它看起来像: 有什么方法可以使用文件做同样的事情吗?