为什么 swagger 在客户端 SDK 中为 GET 请求生成 void 方法?

a3.*_*ity 2 java rest swagger swagger-codegen

  1. 我使用 swagger codegen 在 Java 中生成客户端 SDK。
  2. 例如:

    java -jar swagger-codegen-cli-2.2.1.jar generate -i http://weburl/apidocs/swagger.json -l java -o output

  3. 在生成的文件中,有一个ModelAPI.java,其中方法(对应HTTP GET请求)返回void。

  4. 我期望返回 POJO 对象(对应于响应的 json),但返回了 void。

  5. 有没有办法生成POJO对象,这样当我在代码中使用客户端SDK时,就可以使用POJO对象了?

我错过了什么吗?

a3.*_*ity 5

swagger codegen 的输出基于输入 - swagger api 规范。

void 的原因是因为在规范中,对于 response: 200,没有指定 schema。

例如:

responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Pet'
Run Code Online (Sandbox Code Playgroud)

请看一看:

https://github.com/swagger-api/swagger-codegen/issues/3888

https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L174-L177