当前位置: 首页 > 知识库问答 >
问题:

对定义中的“必填”字段进行 Swagger-codegen 强制执行

裴成文
2023-03-14

我在我的yaml文件(swagger规范)中标记了这些字段

  MyType:
    type: object
    required:
      - name
      - amount

我将swagger codegen maven插件用于以下配置:

<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.2.3</version>

<language>spring</language>
<library>spring-mvc</library> 

我希望在生成的类中也需要规范中的必填字段。但这目前还没有发生。

是否有配置选项可以执行此操作?我有

我在Swagger-codegen GitHub页面上的定义中看到了类似的“必需”字段的执行请求,其中建议使用useBeanValidation,我确实有它,但它仍然不起作用。

在Swigger codegen GitHub页面上创建了此请求:在生成的模型类中强制执行“必需”字段


共有1个答案

凌声
2023-03-14

找到了解决方案。这实际上是我的错误;我希望生成的类中的字段标记为必需。相反,用@NonNullrequired=true

@ApiModelProperty(required = true, value = "Amount should be present")
@NotNull
public Amount getAmount() {
    return amount;
}

 类似资料:
  • 问题内容: 我们的REST API接收一些JSON对象输入,其中某些字段必须不为null。这些可以是String / Integer,甚至可以是其他一些类实例作为参考。 我们正在尝试寻找一种方法来强制这些字段不为null,而不是在API中进行null检查的正确方法。当前: 我们想要的是这样的: 我们尝试了3件事: 1)升级到杰克逊2.0.6并使用注释com.fasterxml.jackson.an

  • 我目前正在Spring Boot应用程序中使用OpenAPI 3(Swigger UI),我想知道如果我对所有API都使用相同的Java模型类,如何只为某些API指定某个字段是必需的/可选的。 这是我的样本: 这个类被用作几个API的输入请求,但只有其中一些API会要求这些字段都是必需的(即“密码”字段仅对登录API是必需的,而对注销API不是必需的)。 有没有一种方法可以使用OpenAPI的注释

  • 问题内容: 必填字段自定义验证 我有一种表单,其中包含许多输入字段。我已经进行了html5验证 当我提交表单而不填写此文本框时,它显示默认消息,例如 有人可以帮我编辑此消息吗? 我有一个JavaScript代码对其进行编辑,但无法正常工作 电子邮件自定义验证 我有以下HTML表格 我想要的验证消息。 必填字段: 请输入电子邮件地址 错误的电子邮件: ‘testing @ .com’不是有效的电子邮

  • OpenAPI (f.k.a Swagger) 规范代码生成器,支持 API clients, API servers 和 API documention: API 客户端:ActionScript, Bash, C# (.net 2.0, 4.0 or later), C++ (cpprest, Qt5, Tizen), Clojure, Dart, Elixir, Go, Groovy, Ha

  • 我使用的是带有以下Maven依赖项的swagger: 我编写了一个API调用,如下所示: 我在网上查看了一下,但我找不到一组好的例子,说明如何在swagger for java中正确设置所需参数,也找不到一个描述java版本细微差别的API。 所以我的问题是——如何正确设置所需的参数,以便它们仍然可以通过昂首阔步的用户界面执行?

  • 我有以下字段注释,指定默认值: 该代码正确地将字段值初始化为系统属性“tolerance.percentage”(如果该属性存在)。如果不存在,则默认为25。 不过,我想更进一步,在这个int字段上强制执行最小和最大值,因为它表示整个数字小于100的百分比,墨菲定律意味着有人(可能是我)可以从外部错误配置属性,我的应用程序将启动在运行时做奇怪的事情,这对我来说太迟了。我想抛出一个错误,如果属性设置