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

OpenAPI生成器Java客户端SE

陶宜民
2023-03-14

我有一个这样的歌剧API:

/token:
 post:
  operationId: retrieveToken
  requestBody:
    content:
      application/x-www-form-urlencoded:
        schema:
          title: GenerateTokenRequest
          type: object
          properties:
            grant_type:
              type: string
            client_id:
              type: string

OpenAPI生成器Maven的插件为schema对象创建了一个请求类“GenerateTokenRequest”,但在API实现类中它没有使用。它生成一个方法,将所有请求的字段作为参数列表。方法如下:

 public GenerateTokenResponse retrieveToken(String grantType, String clientId, String clientSecret, String scope) throws ApiException {
    ApiResponse<GenerateTokenResponse> resp = retrieveTokenWithHttpInfo(grantType, clientId, clientSecret, scope);
    return resp.getData();
}

所以,在这种情况下,请求类“GenerateTokenRequest”被生成,但从未使用过。任何人都可以告诉我为什么?有一种使用我的请求类的替代方法吗?我可以在OpenAPI文件结构中改变一些东西吗?

共有1个答案

鞠晋
2023-03-14

你得换掉

application/x-www-form-urlencoded

通过

application/json or application/xml
 类似资料:
  • 我们有一个openapi文件(已验证),用于声明响应头,例如。 使用openapi生成器项目(maven或cli)生成的java webclient客户端,调用的返回类型不包括响应头,ApiClient类中的invokeAPI方法也不允许访问响应头。实际上,ApiClient invoke方法返回的是返回类型的Mono/Flux,因此不允许获取响应头 据我所知,使用Spring Webclient

  • 我试图用openApI3生成一个python客户端库。为此,我创建了一个openapi.yml文件,在其中我定义了带有请求和响应的url和模式。 我正在尝试使用我在这里找到的openApI生成器https://github.com/OpenAPITools/openapi-generator命令:openapitools/openapi生成器cli 这个生成器根据yml文件中定义的模式生成一组目录

  • 我可能在尝试做一些奇怪的事情,因为这似乎不是一个常见的问题(或者可能我问错了)。我原以为这会很简单。 基本上,我正在寻找的是一种方法,除了通过使用gradle openapi生成器插件: 我所尝试的是以下(以及相关的错误): 输入pec.set(www.example.com/openapi-doc) 实际代码如下所示:

  • 作为第一步,我使用了Quarkus Openapi指南:https://Quarkus.io/guides/openapi-swaggerui,但是在运行未修改的示例并通过http://localhost:8080/Openapi检索Openapi YAML-Data之后,我注意到生成的数据是错误的,并且Openapi生成器由于stackoverflow错误而无法生成客户端。 问题:SetFrui

  • **代码:(类名已重命名)** 两个版本中的CheeseDTO YAML: 使用springdoc-openapi-ui 1.3.9,我的yaml是这样生成的: 昂首阔步3注释: OpenAPi生成器maven插件 有没有办法用springdoc-openapi-ui>1.4.0生成?我必须更改我的大摇大摆的注释或更改我的java生成器吗?

  • 我想创建一个gradle java应用程序,它从一个openAPI规范文件生成一个客户端,并使用该客户端。所以我用gradle init创建了一个java应用程序(类型:应用程序,语言:Java,DSL:groovy,测试框架:JUnit Jupiter,项目名称:简单-java-app,包结构:)。 我可以用一个包和一个类创建一个新的源文件夹。并使用以下 主类可以访问: 现在,我尝试对opena