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

不要用jhipster/Spring Boot验证REST层中的某些字段

公西国发
2023-03-14

共有1个答案

丁鸿云
2023-03-14

对于您的用例来说,DTO是一个很好的方法,您是使用MapStruct生成的映射器还是手工编写的映射器取决于您的映射有多复杂。

在JHipster中使用DTO的其他原因有:

  • 根据用户角色隐藏某些数据
  • 能够在不影响REST API的情况下发展您的实体
  • 设置某些字段的格式
  • 将来自多个实体的数据聚合到一个DTO,以避免过多的请求(特别是对于移动客户端)
 类似资料:
  • 我有一个DTO,它在控制器层通过BeanValidation(javax.validation)和定制验证器(org.springframework.validation.Validator)的组合进行验证。通过这种方式,我可以检查提供的输入是否有效,然后转换实体中的DTO并将其转发到服务层。 然后是业务逻辑验证。例如:@Entity用户的startDate必须在某个事件发生之后,如果最后创建的用

  • 我有一个简单的springboot应用程序和一个Rest api。我想验证请求参数不为null/空。我将json转换成一个java对象,并从这里开始验证它们是否包含所有必需的字段,并且不为null或不为空。(对象没有保存到db)我目前正在使用javax验证方法,但是没有成功。 我还有一个包含的要素类,我需要验证(所有字段均为必填字段,而不是空或空)

  • 我正在使用Hibernate 4.1和Notess从Java映射到DB。 我有一个超类,它的属性是使用<code>@MappedSuperClass</code>映射的。 这个类有很多子类,但是有些属性对某些子类无效,因此我不想将它们映射到这些子类的数据库中。 有什么方法可以实现这一点吗? 另外,我不确定这是否是正确的设计,其中只有超类的属性子集适用于子类?我也愿意改变设计,如果有人能给我一个有效

  • 我想在JHIPSTER中向实体发布值 我的实体名称Hussain中有一个名为name的字段,其类型为Long 我写了这段代码,但它给我一个错误401,如果只张贴一个名字,如果我添加id与它,我得到400个错误 我有一个错误

  • 我的springboot版本是2.3.7。我知道spring boot starter验证不是spring boot starter web的可传递依赖项。但即使单独添加了它,我的注释也不起作用。 //下面的依赖我已经添加build.gradle编译'org.springframework.boot: spring-boot-starter-validation' //我希望在请求时出错的示例类

  • REST API请求:EmployeeRequest。java id、名称、sal、位置-- 员工负责。java id、名称、sal、位置-- /api/employee 我不想在回复中使用除ID以外的其他字段 实际:`{id:“123”,“name:“null”,“sal:“null”,“location:“null”}但我只想要response id,而不是POST response的其他字段