You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 09:12:04