Spring 如何在Swagger中连接importMappings和yaml
我有一个SpringRESTfull应用程序,我想为它生成一个API。我使用gradle配置从那里生成代码。但有一个问题,它使用Spring 如何在Swagger中连接importMappings和yaml,spring,api,gradle,swagger,swagger-codegen,Spring,Api,Gradle,Swagger,Swagger Codegen,我有一个SpringRESTfull应用程序,我想为它生成一个API。我使用gradle配置从那里生成代码。但有一个问题,它使用定义:中定义的模型,而我希望它使用共享模块中的模型。我发现我需要使用importMapping,但当我尝试在build.gradle中应用此命令时,我收到一个错误: importMappings = [ 'board_container': 'board_container=com.workingbit.share.domain.impl.BoardContain
定义:
中定义的模型,而我希望它使用共享模块中的模型。我发现我需要使用importMapping,但当我尝试在build.gradle中应用此命令时,我收到一个错误:
importMappings = [
'board_container': 'board_container=com.workingbit.share.domain.impl.BoardContainer'
]
> Could not set unknown property 'importMappings' for task ':myproject:generateApi' of type org.gradle.api.DefaultTask.
因此,问题是如何使用
导入映射
以及如何在yaml
中将其与我的模型连接?我没有尝试过它,但是查看CodegenConfigurator的代码
在构建中修改generateApi
任务。gradle
可能会起作用:
task generateApi {
inputs.file("$projectDir/$swaggerSourceFile")
outputs.dir("$projectDir/$swaggerTargetFolder")
doLast{
def config = new CodegenConfigurator()
config.setInputSpec("file:///$projectDir/$swaggerSourceFile")
config.setOutputDir("$projectDir")
config.setLang('spring')
config.setAdditionalProperties([
'interfaceOnly' : 'true',
'apiPackage' : 'com.dturan.api',
'modelPackage' : 'com.dturan.model',
'sourceFolder' : swaggerTargetFolder
])
//Add this line
config.addImportMapping("board_container", "com.workingbit.share.domain.impl.BoardContainer")
new DefaultGenerator().opts(config.toClientOptInput()).generate()
}
}
您在问题中链接到的build.gradle
中的第二行调用了codegenconfigulator
,它有一些方法来配置导入映射
。您可以查看一下(如果这不起作用,请尝试使用setImportMappings
)