Swagger生成的Java Client没有重载调用,即使查询参数被标记为可选

时间:2018-11-23 03:37:01

标签: swagger swagger-2.0 openapi swagger-codegen openapi-generator

我正在为我的API端点之一(即/ foo2)引入可选“查询参数”(具有默认值),但希望现有的API使用者不要从新的swagger文件重新生成Java客户端存根时,不必在应用程序中进行任何更改。

我期望生成的Java客户端将提供重载方法,以使用和不使用方法参数进行操作,以便我现有的API使用者可以在不对其调用进行任何更改的情况下工作。同时,他们可以切换到其更通用的产品。

public void foo2Get() throws ApiException {
public void foo2Get(String type) throws ApiException {

但是它仅生成后者。我看不到前者。

与此同时,从相同的招摇中生成的python客户端会抛出一个var arg,因此这种方式更加灵活,因此新旧产品都可以正常工作。

def foo2_get(self, **kwargs): 

(使用的摇摇欲坠的示例:已附加)

**说明** 有没有办法用Java代码生成器克服此限制。

swagger-generator版本

swagger 2.0

Swagger声明文件的内容或URL

      swagger: '2.0'
      info:
        title: identity
        version: Unknown
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        typeParam:
          name: type
          in: query
          required: false
          allowEmptyValue: true
          default: basic
          type: string
          enum: 
           - basic
           - advanced

      paths:
        /foo2:
          get:
            consumes:
              - application/json
            parameters:
               - "$ref": "#/parameters/typeParam"
            responses:
              '200':
                description: OK

0 个答案:

没有答案