我正在使用swagger代码生成器v2.2.3为groovy应用程序生成消息传递层 .

因此,我使用 org.hidetake.swagger.generator gradle插件在构建期间运行生成器 .

生成本身有效,但 ArrayList 类型的结果导入错误 - 它指的是模型包,而不是java类型 .

一个错误模型的api规范的例子是

TestModel:
  properties:
    someField:
      type: array
      items:
        type: integer

结果

package com.enchant.messaging.model;

import groovy.transform.Canonical
import com.example.messaging.model.ArrayList;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@Canonical
class TestModel {

    List<Integer> someField = new ArrayList<Integer>()
}

生成源的gradle任务是

task generateApi {
    inputs.file("$projectDir/$swaggerSourceFile")
    doLast {
        def config = new CodegenConfigurator()
        config.setInputSpec("file:///$projectDir/$swaggerSourceFile")
        config.setOutputDir("$buildDir")
        config.setLang('groovy')
        config.setAdditionalProperties([
                'apiPackage'    : 'com.example.messaging.api',
                'modelPackage'  : 'com.example.messaging.model',
                'sourceFolder'  :  '../src/main/groovy'
        ])
        new DefaultGenerator().opts(config.toClientOptInput()).generate()
    }
}

这是groovy源代码生成器中的错误,还是可以为swagger代码生成器配置的List类?