如何使用Open API Generator仅生成.NET Core类库(模型与抽象控制器)
如何用OpenAPI Generator生成独立的.NET Core类库项目
我需要创建一个独立的.NET Core类库项目,用来存放所有从Swagger文件生成的代码,这样就能在现有API代码里引用它,避免生成完整服务存根时修改或删除现有API内容。
目前我用这条命令生成完整的服务存根:
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate -i /local/generated/swagger.yaml -g aspnetcore -o /local/abstract --additional-properties=packageName=Test.Abstract
尝试添加buildTarget=library参数来生成类库时,出现了错误:
[error] Found unexpected parameters: [buildTarget=library]
正确的修改方式
aspnetcore生成器并不支持buildTarget参数,想要生成类库,需要调整additional-properties里的参数:
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate -i /local/generated/swagger.yaml -g aspnetcore -o /local/abstract --additional-properties=packageName=Test.Abstract,generateController=false,generateAsLibrary=true
参数说明
generateController=false:禁用完整控制器服务存根的生成,只保留模型和接口定义generateAsLibrary=true:指定生成输出为类库项目而非完整的Web服务项目
这样生成的项目就是一个独立的.NET Core类库,你可以直接在现有API项目中引用它,实现接口而无需担心现有代码被覆盖。
内容的提问来源于stack exchange,提问作者JensB
相关产品推荐
相关产品推荐

