gpt4 book ai didi

java - Swagger + Spring Boot,如何基于Spring Boot Validation设置API中要传递的示例值

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:48 24 4
gpt4 key购买 nike

在我使用 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(请求体)。

  • name:swagger应该在模型中作为信息标签显示的名称
  • 位置:该属性在请求正文中的顺序
  • 示例:swagger 中 requestbody 字段中预填充的示例

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

关于java - Swagger + Spring Boot,如何基于Spring Boot Validation设置API中要传递的示例值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59477719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com