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

时间:2017-03-26 15:23:32

标签: 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对象?

  6. 我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

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

无效的原因是因为在规范中,对于响应:200,未指定模式。

例如:

responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Pet'

请看一下:

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