Swagger (Gradle) Ошибка импорта сопоставлений: пакет com.test.account.dto не существует - PullRequest
0 голосов
/ 20 марта 2019

Как я могу заставить swagger codegen использовать существующий класс вместо создания нового класса? Это возможно? Например, я хочу использовать com.test.account.dto.Permission вместо swagger для создания другого класса разрешений.

Gradle:

import io.swagger.codegen.DefaultGenerator
import io.swagger.codegen.config.CodegenConfigurator

    def swaggerInput = "${project.projectDir.path}/src/main/resources/swagger/account.yaml"
    def swaggerOutputDir = file('build/swagger')
    task generateApi {
        inputs.file(swaggerInput)
        outputs.dir(swaggerOutputDir)
        doLast {
            def config = new CodegenConfigurator()
            config.setInputSpec(swaggerInput)
            config.setOutputDir(swaggerOutputDir.path)
            config.setLang('spring')
            config.setAdditionalProperties([
                    'invokerPackage'   : 'com.test.account',
                    'modelPackage'     : 'com.test.account.model',
                    'apiPackage'       : 'com.test.account.api',
                    'dateLibrary'      : 'java8',
                    'useTags'          : 'true',
                    'interfaceOnly'    : 'true',
                    'serializableModel': 'true'
            ])
            config.setImportMappings([
                'Permission': 'com.test.account.Permission'
            ])
            new DefaultGenerator().opts(config.toClientOptInput()).generate()
        }
    }

account.yaml

Permission:
    type: "object"

user:
    properties:
      permissions:
        type: array
        items:
          type: "object"
          $ref: '#/definitions/Permission'

Ошибка:

> Task :compileSwaggerJava
C:\Users\user\Desktop\test\test\build\swagger\src\main\java\com\test\account\model\CurrentUser.java:35: error: package com.test.account.dto. does not exist
  private List<com.test.account.dto.Permission> permissions = null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...