swagger插件未记录@BeanParam的字段

问题描述

我正在使用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 (将#修改为@)