swagger + knife4j 结合展示接口文档,
新增和修改接口使用一个dto,
@NotNull(message = "ID不能为空", groups = Group.Update.class)
private Long id;
但是 文档中显示,两个接口参数 id 都是必传的。
swagger是否支持 添加接口 显示 id不必传,修改接口id必传呢?
swagger + knife4j 结合展示接口文档,
新增和修改接口使用一个dto,
@NotNull(message = "ID不能为空", groups = Group.Update.class)
private Long id;
但是 文档中显示,两个接口参数 id 都是必传的。
swagger是否支持 添加接口 显示 id不必传,修改接口id必传呢?
“Devil组”引证GPT后的撰写:
举个例子,可以这样修改DTO类的注解
public class YourDTO {
public interface Add {}
public interface Update {}
@NotNull(message = "ID不能为空", groups = Group.Update.class)
private Long id;
// ... 其他参数 ...
}
在新增接口中,可以使用@Validated(YourDTO.Add.class)注解来指定使用Add分组进行参数校验:
@PostMapping("/add")
public Result add(@Validated(YourDTO.Add.class) @RequestBody YourDTO dto) {
// ...
}
而在修改接口中,则使用@Validated(YourDTO.Update.class)注解来指定使用Update分组进行参数校验:
@PostMapping("/update")
public Result update(@Validated(YourDTO.Update.class) @RequestBody YourDTO dto) {
// ...
}
这样,Swagger生成的接口文档中,针对不同的接口,会显示不同的参数要求。