将 Jackson 注释添加到 swagger 生成的类

2023-12-08

我正在使用 swagger 来定义与我的网络服务器的合同。在 swagger 文件中,我定义了 REST 端点和请求/响应对象。

我想添加注释@JsonInclude(Include.NON_NULL)到我的招摇班级的一个领域。 swagger 类的定义如下:

 MyObject:
    discriminator: valueType
    required:
      - name
      - description
    properties:
      name:
        type: string
      description:
        type: string
      value:
        type: string
      dbName:
        type: string

When dbName为空,我不想返回它(不序列化它),所以我会得到如下所示的响应:

{
   "name": "some_name",
   "description": "my description",
   "value": "some value"
}

如果它是我创建的 java 类,那么将其定义为非常容易:

public class MyObject {
    public String name;
    public String description;
    public String value;

    @JsonInclude(Include.NON_NULL)
    public String dbName;
}

但因为这是一个自动生成的类,我不确定如何实现它。


如果您使用 swagger-codegen 插件,那么在 Maven 配置中您需要添加notNullJackson注释CLI 选项并检查您是否使用最新的插件版本,例如:

    <build>
    <plugins>
        <plugin>
            <groupId>io.swagger.codegen.v3</groupId>
            <artifactId>swagger-codegen-maven-plugin</artifactId>
            <version>3.0.32</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <inputSpec>${project.basedir}/src/main/resources/petstore.yaml</inputSpec>
                        <language>java</language>
                        <library>resttemplate</library>
                        <apiPackage>lt.codex.json.api</apiPackage>
                        <modelPackage>lt.codex.json.model</modelPackage>
                        <invokerPackage>lt.codex.json.handler</invokerPackage>
                        <generateApiTests>false</generateApiTests>
                        <generateApiDocumentation>false</generateApiDocumentation>
                        <generateModelTests>false</generateModelTests>
                        <generateModelDocumentation>false</generateModelDocumentation>
                        <generateSupportingFiles>true</generateSupportingFiles>
                        <configOptions>
                            <interfaceOnly>true</interfaceOnly>
                            <dateLibrary>java8</dateLibrary>
                            <notNullJacksonAnnotation>true</notNullJacksonAnnotation>
                        </configOptions>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Jackson 注释添加到 swagger 生成的类 的相关文章

  • 导入java spring项目后如何构建maven

    你好 我是 java spring 概念的新手 所以我下载了一个示例spring应用程序并将其导入到eclipse中 我已经阅读了spring教程 要么我必须将maven安装到eclipse中才能运行spring项目 所以我已经安装了mav
  • Lombok 如何将代码生成到现有类中? [复制]

    这个问题在这里已经有答案了 我可以使用注释处理器从头开始生成类 但我无法像 lombok 那样修改类 我在 android studio 中搜索了 lombok 生成的类 但是我什么也没找到 然后我通过他们的网站检查了龙目岛概述 还在论坛中
  • Java JFileChooser 与过滤器据称仅显示目录无法仅显示目录

    预先感谢 如果您需要更多信息 请告诉我 示例代码位于底部 我试图解决的问题 我试图通过使用 javax swing filechooser FileFilter 对象来使此 JFileChooser 对象仅显示目录 而不是文件 该对象在ac
  • 如何使用 Windows 上运行的 Java 服务检测用户活动?

    我的目标是使用 Java 创建一个系统监控应用程序 我想知道用户何时在 Windows PC 上进行活动 结果会是这样的 8 00 8 15 活动 9 12 10 29 活动 12 24 15 34 活动 我对任何其他信息 按下了哪个键 使
  • 多线程以原子方式对大量值求和

    我正在开发一个应用程序 其中有大量线程 并且必须自动添加 100 个值 我在用AtomicLong效果很好 但仍需要提高性能 有没有比 AtomicLong 提供更好性能的东西 您可以使用长加法器 https docs oracle com
  • 从 java 代码运行 Python 脚本

    这是我第一次在java中尝试python 我正在尝试从我的代码执行 python 脚本 如下所示 Process process Runtime getRuntime exec python C Users username Desktop
  • 为什么这个 Java 静态字段为空?

    public class StaticTest private static String a private static String b this is a public static void main String args a
  • 在Java中,为什么equals()和hashCode()必须一致?

    如果我重写类上的任一方法 它必须确保如果A equals B true then A hashCode B hashCode也一定是真的 有人可以给我看一个简单的例子 如果违反了这一点 就会导致问题吗 我认为这与您是否使用该类作为 Hash
  • 如何将堆栈跟踪转换为字符串?

    转换结果的最简单方法是什么Throwable getStackTrace 到描述堆栈跟踪的字符串 Use Throwable printStackTrace PrintWriter pw https docs oracle com java
  • Linux 上的 JavaFX

    Linux x86 和 x64 上的 JavaFX 情况如何 JavaFX 应用程序可以在 Linux 操作系统上顺利执行吗 我发现了 2011 年和 2012 年的一些问题 当时应用程序不稳定 目前发布的 JFX 版本是 2 2 4 在
  • spring Kafka模型不在可信包中

    我正在研究微服务spring Kafka 2 1 5 and spring boot 2 0 5 第一个服务将向卡夫卡产生一些消息 第二个服务将消耗它们 在消耗时我遇到了问题 Caused by java lang IllegalArgum
  • 如何从资源服务器中的 Spring Security OAuth2 Boot 中提取声明?

    我有一个使用 Net Core 内置的授权服务器身份服务器4 https identityserver4 readthedocs io en latest 它正在按预期工作 从 Node Js 和 Net 授权客户端和资源 现在我尝试添加
  • Run As JUnit 未出现在 Eclipse 中 - 使用 JUnit4

    我正在尝试为我的 Web 应用程序编写 JUnit4 测试 它们之前一直工作正常 但是 现在当我尝试通过右键单击类文件 gt Run As gt JUnit Test 来运行测试时 我看不到该选项 我认为这可能是因为一位同事意外提交了一些
  • Selenium 和 xpath:查找带有类/id 的 div 并验证其中的文本

    我正在努力拥有xpath find a div并验证div有一个特定的string里面的文字 这是HTML div class Caption Model saved div and div class gwt HTML sfnStanda
  • Finalize() 何时执行? [复制]

    这个问题在这里已经有答案了 在一次采访中我被问到 假设 JVM 在 A 类对象未被使用时运行 gc class A some code here protected void finalize code here 它是否保证finalize
  • Java Reflection:为什么这么慢?

    我一直避免使用 Java 反射 因为它速度缓慢 我在当前项目的设计中达到了一个点 能够使用它将使我的代码更具可读性和优雅性 所以我决定尝试一下 我只是对这种差异感到惊讶 我注意到有时运行时间几乎延长了 100 倍 即使在这个简单的例子中 它
  • 将 Tango 3D 点投影到屏幕 Google Project Tango

    Project Tango 提供了点云 如何获取点云中 3D 点的像素位置 以米为单位 我尝试使用投影矩阵 但得到的值非常小 0 5 1 3 等 而不是 1234 324 以像素为单位 我包含我尝试过的代码 Get the current
  • SwingWorker 和 Executor 的区别

    我正在使用 SwingWorker 在我正在制作的应用程序上执行一些重负载任务 虽然今天我遇到了 Executor 类和这个例子 Executors newCachedThreadPool execute new Runnable publ
  • Scala 不可变 Map 速度慢

    当我创建地图时 我有一段代码 val map gtfLineArr 8 split map split collect case Array k v gt k v toMap 然后我使用这张地图来创建我的对象 case class MyOb
  • 从 Java 程序中获取局部变量的名称和类型

    这是我正在尝试的代码 JavaCompiler compilerA ToolProvider getSystemJavaCompiler int resultA compilerA run null null null Users a Do

随机推荐

  • JS 数组使用正则表达式排序

    我的目标是根据使用正则表达式的 JS 对象的优先级对数组进行排序 这是我所拥有的 JS 对象定义 var rx CondoIndicator new RegExp bCONDO MINIUM S var rx TownhouseIndica
  • 调整页面大小后将可变宽度网格居中

    这是我想在 CSS 中执行的操作的图像 image 有任何想法吗 创刊号 将没有明确宽度的元素居中 这阻止了通常的解决方案margin 0 auto 从成为一种选择 更大的问题 没有未使用的空间用于将包装纸置于其容器的中心 如果元素的宽度由
  • 如何从 Facebook 应用程序获取顶部 URL?

    如何获取 iframe 应用程序中的顶级 URL Facebook 地址 对此有好的解决办法吗 您指的是 Facebook 域中的 URL 这是不可能的 因为同源政策
  • C 运行时静态链接与动态链接中的内存分配

    我的程序的架构涉及插件 dll 和exe 显然 我们是唯一的插件提供商 有人告诉我 如果我们静态链接 c 运行时 在插件中分配内存然后在 exe 代码中释放它是一个潜在的问题 但是 如果我们动态链接它 则只有一个堆 而 c 运行时可以访问所
  • 访问路径“d:\$RECYCLE.BIN\S-1-5-21-494745725-312220573-749543506-41600”被拒绝

    我是 C 新手 我有一个文本框 可以在其中输入要搜索的文件和一个 搜索 按钮 在搜索时钟上 我希望它填充文件夹中的文件 但出现上述错误 下面是我的代码 string directories Directory GetDirectories
  • 无需 JavaScript 即可轻松实现等高 DIV?

    到目前为止 我主要使用基于表格的布局 但由于它被认为是过去的事情 所以现在我承担了学习基于 DIV 的布局的任务 到目前为止 对我来说最烦人的挑战之一是找到一种方法来获得等高的 DIV 该 DIV 可以在所有主要浏览器上运行 不依赖于 Ja
  • 错误 C2679:二进制 '<<':找不到采用 'std::string' 类型的右侧操作数的运算符(或者没有可接受的转换)

    这是我的代码 如何修复这个错误 include stdafx h include
  • 如何检测 Highcharts 图表中点的双击或长按?

    Highcharts 提供了检测图表点点击的机会 但是有可能吗 检测其他事件 例如双击或鼠标按下事件 提前致谢 每个组件只支持某些事件 例如图表组件会检测addSeries click load redraw and selection 我
  • 索引枚举的值,而不是字符串

    是否可以使用 Solrnet 索引 Enum 的值而不是其字符串表示形式 假设我必须遵循以下枚举 Serializable Flags public enum Gender Male 0 Female 1 并将 solr 属性添加到Gend
  • 使用react-router-v4对路由进行身份验证

    我正在尝试写Authentication检查我的DashBoard 但函数本身没有被调用 谁能给我一些解决方案吗 我正在使用 ReactJs 进行开发 这是路线部分
  • 我收到错误“DELETE 语句与 REFERENCE 约束冲突”

    我尝试用外键截断表并收到消息 无法截断表 因为它被 FOREIGN KEY 约束引用 我阅读了很多有关该问题的文献 并认为我通过使用删除找到了解决方案 DELETE FROM table name DBCC CHECKIDENT table
  • 没有 Boost.Serialization 的序列化

    我正在尝试为我的代码实现一个简单的序列化 反序列化方法 以便能够使用 MPI 通过网络传递对象 在理想的世界中我会使用Boost Serialization and Boost MPI为此 但它们没有安装在我有权访问的某些集群上 因此我正在
  • 需要 Microsoft Visual C++ 10.0(无法找到 vcvarsall.bat)

    我尝试使用以下命令在 Windows 8 1 上安装 ephem 模块 pip install ephem 但我收到此错误 Microsoft Visual C 10 0 is required Unable to find vcvarsa
  • Knockout JS 映射插件混乱

    我很困惑在使用映射插件时应该何时何地声明我的 viewModel 这是我的 json 文件 members memberid 001 membername Jason memberid 002 membername Bob 这是 html
  • 如何使用 hibernate 和 Legacy 数据库修剪 char 字段 pojo 中的空格

    我的表的列为 char 5 无法将其更改为 varchar 5 因此 当我使用 hibernateTemplate 从表中获取值时 它会返回带有实际的单个字母值的添加空格 客户修复是使用 trim 方法检查 NPE 但是我们是否有提供的方法
  • SQL 迭代所有表

    我正在运行以下代码以从具有特定列的所有表中提取所有相关行 外层IF应该检查该迭代的表中是否存在该列 如果没有 它应该完成该迭代并移至下一个表 如果表中有GCRecord列 然后应该检查该表是否会返回任何记录 如果没有要返回的记录 则应结束该
  • data.table 中 cumsum 的平均版本(累积平均值)

    我有一些数据 library data table set seed 42 dat lt data table t 1 6 group rep 1 2 each 3 val runif 6 0 1 gt dat t group val 1
  • 如何在c中打印内存位

    我正在学习数字在内存中的表示方式 我想知道如何在内存中打印某些 int 和 float 变量的实际表示形式 二进制或十六进制 例如 我想看看当添加或减去这些数字导致溢出时会发生什么情况 如何访问内存并打印它 您需要将指向相关变量的指针分配给
  • Java 在文本区域右侧显示文本

    我遇到的问题ComponentOrientation RIGHT TO LEFT是 或 等字符或者 显示在左侧 我只需要从右到左绘制文本 但使用标准 西方 英语从左到右的文本字符表示法 如果不手动渲染文本 这可能吗 我无法生成您的问题 您可
  • 将 Jackson 注释添加到 swagger 生成的类

    我正在使用 swagger 来定义与我的网络服务器的合同 在 swagger 文件中 我定义了 REST 端点和请求 响应对象 我想添加注释 JsonInclude Include NON NULL 到我的招摇班级的一个领域 swagger