Сгенерированный Swagger Java-клиент не имеет перегруженных вызовов, хотя параметр запроса помечен как необязательный - PullRequest
0 голосов
/ 23 ноября 2018

Я ввожу необязательный «параметр запроса» ( со значением по умолчанию ) для одной из моих конечных точек API (то есть / foo2), но надеюсь, что существующие потребители API неЯ должен был внести какие-либо изменения в свое приложение, когда они восстанавливают заглушку клиента Java из нового файла swagger.

Я ожидал, что сгенерированный клиент Java предложит перегруженные методы для работы с параметром метода и без него, поэтомучто мои существующие пользователи API могут работать без каких-либо изменений в своем вызове.В то же время они могут перейти на более общее предложение.

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

Но оно генерирует ТОЛЬКО последнее .Я не вижу первого.

В то же время сгенерированный клиент Python из того же самого чванства генерирует var arg, и таким образом он становится более гибким и, следовательно, старые и новые предложения будут работать без проблем.

def foo2_get(self, **kwargs): 

(использованный образец чванства: прилагается)

** Описание ** Есть ли способ преодолеть это ограничение с помощью генератора кода Java.

версия генератора чванства

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
...