Java REST 客户端的 swagger-codegen 标头参数

2024-04-05

我正在使用 swagger-codegen 为我的 REST API 之一生成 Java REST 客户端。 REST API 采用可选的标头参数。客户端中生成的方法有一个采用标头的附加参数。我希望生成的方法在方法签名中没有标头参数。 我已阅读文档,但找不到任何参考。

例如,对于带有选项 X-CUSTOM-HEADER 参数的 GET all API,swagger-codegen 会生成如下方法:

public List<SomeType> findAllUsingGET1(String optionalHeader)

我希望它在哪里:

public List<SomeType> findAllUsingGET1()

寻找解决方法的指针,而不是自定义客户端代码生成。

编辑 1:添加 JSON 规范

  "get": {
    "summary": "findAll",
    "operationId": "findAllUsingGET1",
    "consumes": [
      "application/json"
    ],
    "produces": [
      "application/json"
    ],
    "parameters": [
      {
        "name": "X-CUSTOM-HEADER",
        "in": "header",
        "description": "Custom Header",
        "required": false,
        "type": "string"
      }
    ],
    "responses": {
      "200": {
        "description": "OK",
        "schema": {
          "type": "string"
        }
      },
      "401": {
        "description": "Unauthorized"
      },
      "403": {
        "description": "Forbidden"
      },
      "404": {
        "description": "Not Found"
      }
    }
  }

如果您想从 Java API 客户端的方法签名中删除某个参数(可选),唯一的方法是从 Swagger/OpenAPI 规范中删除该参数。

要添加默认标头,您可以使用addDefaultHeader中的方法ApiClient: https://github.com/swagger-api/swagger-codegen/blob/master/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java#L528 https://github.com/swagger-api/swagger-codegen/blob/master/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java#L528

更新:标头参数与表单、查询参数类似,作为方法参数生成。从开发人员的角度来看,这只是另一个参数(并且他们不需要知道该参数是标头、表单还是查询参数)

更新:2018 年 5 月,Swagger Codegen 的大约 50 位顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护一个名为OpenAPI 生成器 https://github.com/OpenAPITools/openapi-generator。请参阅了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java REST 客户端的 swagger-codegen 标头参数 的相关文章

  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • Android studio - 如何保存先前活动中选择的数据

    这是我的代码片段 这Textview充当按钮并具有Onclicklistner在他们 当cpu1000时Textview单击它会导致cpu g1000其代码如下所示的类 public class Game 1000 extends AppC
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 带 url-loader 的 Webpack 内联字体

    我正在尝试将一些字体内联为 base64 编码的数据 URI 但我对 Webpack 的 url loader 没有什么运气 这很奇怪 因为 url loader 似乎只是为我的图像和 svg 文件执行此操作 我的设置如下 目录结构 roo
  • IO monad 的逻辑 AND 严格性

    我正在尝试用 Haskell 编写一个简单的程序 它基本上应该并行运行两个 shell 命令 这是代码 import System Cmd import System Exit import Control Monad exitCodeTo
  • 如何在 C# 应用程序中使用代理

    我正在使用 Microsoft Visual Studio 2010 C net 4 0 我有一个网络浏览器元素 我想做的是使用代理通过 Webbrowser 元素进行导航 我怎样才能做到这一点 谢谢 浏览器控件只是 IE 的一个实例 它将
  • 刷新页面会导致 404 错误 - Angular 6

    我正在构建一个应用程序的帮助Angular6并面临路由问题 一切routes当我单击特定选项卡时正在工作 但每当我refresh当前页面 它正在抛出404错误 我在堆栈溢出上看到了很多关于这个问题的帖子 但未能克服这个问题 下面是我的 ap
  • Regionprops 与 PodczeckShapes/DIPimage 圆度问题 - Matlab

    有人可以解释一下为什么Matlab中的 圆度 是通过 4 Area pi 周长 2 计算的 而在Podczeck Shape中它是Area Pi 4 sp 2 https qiftp tudelft nl dipref FeatureSha
  • 我应该默认推荐密封等级吗?

    在我工作的一个大项目中 我正在考虑建议其他程序员如果没有考虑如何对他们的类进行子类化 则始终密封他们的类 很多时候 经验不足的程序员从来不会考虑这一点 我觉得奇怪的是 在 Java 和 C 中 类默认是非密封 非最终的 我认为将类密封可以大
  • 登录后直接从 Websecurity 获取 CurrentUserID (C#/ASP.NET)

    我有这个网站 C ASP NET 其中有一个表单 用户可以在其中注册帐户 这是 VS11 的默认模板 填写完所有内容并且用户单击注册后 它会创建帐户并登录在用户中 效果很好 在此步骤之后 我想获取他分配的 UserID 但它不起作用 我在那
  • 如何为 git 正确设置 credential-osxkeychain

    我已按照以下说明进行操作如何设置git https help github com articles set up git将 OS X 钥匙串集成到 git 命令中 说明说密码提示应该再次出现 并且钥匙串访问窗口将会出现 密码提示出现 但钥
  • 即时加载 jQuery

    我无法弄清楚我的代码有什么问题 如果页面上不存在 jQuery 我会尝试动态加载它
  • spring hibernate异步任务问题未找到当前线程的会话

    这是我保存数据的方法 工作正常 public Future
  • 用户评级架构 - 键/值数据库

    我们正在使用 MongoDB 我正在研究一个用于存储评级的模式 评级的值为 1 5 我想存储其他值 例如fromUser 这很好 但我的主要问题是对其进行设置 以便重新计算平均值尽可能有效 解决方案 1 单独的额定值等级 第一个想法是创建一
  • 如何找出哪些组件发生冲突?

    我正在使用 Angular 2 的 ES5 风格 我遇到了这个错误 Unhandled Promise rejection Template parse errors More than one component matched on t
  • HTML 复选框可以设置为只读吗?

    我认为它们可以 但由于我没有把钱放在我的嘴上 可以这么说 设置只读属性实际上似乎没有做任何事情 我不想使用 禁用 因为我希望选中的复选框与表单的其余部分一起提交 我只是不希望客户端能够在某些情况下更改它们 你可以使用这个
  • Visual Studio 2012 中是否删除了“工具”>“创建 GUID”?

    在 Visual Studio 2010 中 工具 菜单中有一个 创建 GUID 条目 我一直用它来进行 SharePoint 开发 Visual Studio 2012 中是否删除了 工具 gt 创建 GUID 我没有看到它并求助于 Po
  • 如何覆盖CSS首选颜色方案设置

    我正在实现深色模式 因为 macOS Windows 和 iOS 都引入了深色模式 Safari Chrome 和 Firefox 有一个本机选项 使用以下 CSS 媒体规则 media prefers color scheme dark
  • 从 Android 4.2 更新到 Android 4.3 后,使用蓝牙 SPP 配置文件的应用程序无法运行

    我写了一个基于bluetoothChat的简单应用程序 我使用 SPP 配置文件在手机和蓝牙模块之间进行通信 电话始终发起通信 该应用程序在 Android 4 2 Nexus 3 和 Samsung Galaxy 3 上完美运行 更新到A
  • 使用 AutoIT 编写 GAE 启动器脚本?

    AutoIT 能否编写 GAE 启动程序脚本 以便我无需在每次部署时输入密码 AutoIt 可以自动化 GUI 没问题 有2个编辑框 Edit1 and Edit2 因此您实际上可以采用记事本示例并对其进行一些更改 如果您想要在后台运行某些
  • 我的复选框没有出现在我的 CheckedTextView 中

    这是我设置检查文本视图的方法 为什么没有出现复选框 我也添加了这个 但没有效果 listView setChoiceMode ListView CHOICE MODE SINGLE
  • 如何将 WM_INPUTLANGCHANGEREQUEST 发送到具有模态窗口的应用程序?

    我编写了一个键盘切换器 它运行良好 但如果当前应用程序打开了模式窗口 则会失败 在键盘开关上我执行以下操作 hwnd GetForegroundWindow PostMessage hwnd WM INPUTLANGCHANGEREQUES
  • Java REST 客户端的 swagger-codegen 标头参数

    我正在使用 swagger codegen 为我的 REST API 之一生成 Java REST 客户端 REST API 采用可选的标头参数 客户端中生成的方法有一个采用标头的附加参数 我希望生成的方法在方法签名中没有标头参数 我已阅读