问题描述
我正在使用swagger-maven-plugin-2.1.4生成REST API文档。
我有以下代码,我希望生成的Yaml将所有验证约束都写在 CreateDog 中,这意味着 NotNull 和 Pattern ,但是大张旗鼓只接受 NotNull 约束。 挥舞不接受 @Size , @Min 和 @Max 约束。
要强行招摇以记录这些约束,需要在 name 字段上放置 @Paramter 或 @Schema 批注,然后再次在其中写入约束
问题是,如果不使用@BeanParam,则会大张旗鼓地自动记录所有约束。
我的问题是我怎样才能自动将所有@BeanParam的约束条件全部记录下来?
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response createDog(@Valid @BeanParam CreateDog createDog)
{
// do stuff
return Response.ok(dog).build();
}
public class CreateDog implements Serializable
{
private static final long serialVersionUID = 1L;
@FormParam("name")
@Pattern(regexp = "^(?!.*[<>&%\"']).*$")
@NotNull
private String name;
// getter and setter
}
p.s。 我可能无法停止使用@BeanParam,因为API会消耗MediaType.APPLICATION_FORM_URLENCODED
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)