Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 昂首阔步+;Spring Boot,如何基于Spring Boot验证设置要在API中传递的示例值_Java_Spring_Spring Boot_Swagger - Fatal编程技术网

Java 昂首阔步+;Spring Boot,如何基于Spring Boot验证设置要在API中传递的示例值

Java 昂首阔步+;Spring Boot,如何基于Spring Boot验证设置要在API中传递的示例值,java,spring,spring-boot,swagger,Java,Spring,Spring Boot,Swagger,在我使用DTO传递信息的所有API调用中,在示例值中,我看到了DTO的所有字段,并在我的Spring Boot应用程序中对DTO应用了验证组,如 @NotNull(message = "error_card_expiry_month_required", groups = AddUpdateCard.class) @JsonProperty("month") private Integer Month; @NotNull(message = "error_car

在我使用DTO传递信息的所有API调用中,在示例值中,我看到了DTO的所有字段,并在我的Spring Boot应用程序中对DTO应用了验证组,如

    @NotNull(message = "error_card_expiry_month_required", groups = AddUpdateCard.class)
    @JsonProperty("month")
    private Integer Month;

    @NotNull(message = "error_card_expiry_year_required", groups = AddUpdateCard.class)
    @JsonProperty("year")
    private Integer Year;

    @NotBlank(message = "error_card_cvv_required",groups = AddUpdateCard.class)
    @JsonProperty("cvv")
    private String Cvv;
这里我使用了
groups=Class.Class
进行验证

如果可能的话,我如何告诉swagger使用它,以便它不会将整个DTO显示为示例值,而只显示我已验证的值

我只需要该API的已验证的
@NotNull
注释值


我是否有可能或必须使用任何其他方法来实现这一点

尝试向每个字段添加以下代码

@ApiModelProperty(name = "The chosen month", position = 0, example = "6")
@NotNull(message = "error_card_expiry_month_required", groups = AddUpdateCard.class)
@JsonProperty("month")
private Integer Month;
@swagger使用ApiModelProperty为给定属性创建DTO(requestbody)

  • 名称:swagger应在模型中显示为信息标记的名称
  • 位置:此属性在requestbody中的顺序
  • 示例:swagger中requestbody字段中的预填充示例

它可能无法根据bean验证对有效示例进行排序,但由于您知道自己的约束,因此可以选择您想要的任何示例值。

尝试向每个字段添加以下代码

@ApiModelProperty(name = "The chosen month", position = 0, example = "6")
@NotNull(message = "error_card_expiry_month_required", groups = AddUpdateCard.class)
@JsonProperty("month")
private Integer Month;
@swagger使用ApiModelProperty为给定属性创建DTO(requestbody)

  • 名称:swagger应在模型中显示为信息标记的名称
  • 位置:此属性在requestbody中的顺序
  • 示例:swagger中requestbody字段中的预填充示例

它可能无法根据bean验证对有效示例进行排序,但由于您知道自己的约束,因此可以选择任何您想要的示例值。

这不起作用。但我如何指定应该在哪个API中看到这一点呢?我的意思是这个字段在许多不同的API中使用。你不能真正做到这一点,除非每个端点都有自己的DTO对象,这样你就可以很容易地区分多个端点。否则,如果您这样做,示例值和顺序将共享。因此,如果我对多个端点使用一个DTO对象,并使用验证管理DTO的字段,那么不可能实现它吗?在应用程序启动时创建Swagger DTO示例模型,然后变为静态。这意味着,当所选端点不同时,无法基于同一DTO对象动态创建不同的DTO示例模型。你可以看看这个url:这不起作用。但我如何指定应该在哪个API中看到这一点呢?我的意思是这个字段在许多不同的API中使用。你不能真正做到这一点,除非每个端点都有自己的DTO对象,这样你就可以很容易地区分多个端点。否则,如果您这样做,示例值和顺序将共享。因此,如果我对多个端点使用一个DTO对象,并使用验证管理DTO的字段,那么不可能实现它吗?在应用程序启动时创建Swagger DTO示例模型,然后变为静态。这意味着,当所选端点不同时,无法基于同一DTO对象动态创建不同的DTO示例模型。您可以查看以下url: