【问题标题】:Swagger Codegen generates an api for each resourceSwagger Codegen 为每个资源生成一个 api
【发布时间】:2021-03-14 10:52:56
【问题描述】:

我使用 open-api-3 标准创建了一个 swagger.json,以便能够使用工具 swagger-codegen 生成客户端 SDK。 我的问题是每个 API 端点最终都会获得自己的 api 对象,而不是 api 的所有端点的一个 api 对象。

预期:

$api->getArticles();
$api->getUsers();

实际:

$articleApi->getArticles();
$userApi->getUsers();

问题: 如何配置 swagger codegen 或我的 swagger.json 为所有实体/资源只创建一个 api 对象?

在本例中我使用https://editor.swagger.io/ 生成sdk,但我使用离线java 版本得到了相同的结果。

这是我的 swagger.json:https://pastebin.com/kDZpSDtc

【问题讨论】:

    标签: php swagger openapi swagger-codegen swagger-editor


    【解决方案1】:

    删除“标签”及其内容。 我不知道php中还有哪些其他代码生成设置,但是在java pom.xml中也有一个设置true 如果您将其移除或设置为 false,则会生成一个 Api 类。

    yaml:

    put:
      summary: Getting something from DB
      operationId: produced
      tags:           <--remove
        **- getting** <--remove
      requestBody:
    

    pom.xml:

    <configOptions>
                <useTags>true</useTags> <--remove or 'false'
                <library>spring-mvc</library>
                <dateLibrary>java8-localdatetime</dateLibrary>
                <interfaceOnly>true</interfaceOnly>
                <hideGenerationTimestamp>true</hideGenerationTimestamp>
    </configOptions>
    

    【讨论】:

    • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
    最近更新 更多