如何从OpenAPI 3.0模式生成ASP.NET Core 2控制器?

8
我有一个OpenAPI 3.0模式的YAML文档,其中定义了一些API端点以及所有必需的参数和响应。
现在,我想生成一些样板服务器端代码:控制器及其方法。我的API将使用ASP.NET Core 2编写。那么,是否可以使用某种生成器,还是应该手动完成?
附注:我知道我可以生成客户端代码,但我现在不需要它...

Swagger-Codegen正在进行OAS3支持的开发,但ASP.NET代码生成器目前不可用。https://github.com/swagger-api/swagger-codegen/issues/6598#issuecomment-360780224 - Helen
2个回答

10
请尝试使用OpenAPI Generator,它是Swagger Codegen的社区驱动版本,支持OpenAPI规范v2和v3。
有关我们(顶级贡献者)fork它的原因,请参阅Q&A 如果您已安装docker,则可以使用以下命令轻松尝试它。
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate \
    -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
    -g aspnetcore \
    -o /local/out/aspnetcore

如有任何问题或反馈,请通过https://github.com/OpenAPITools/openapi-generator/issues/new提交工单。


1
哇哦。太棒了!谢谢 - Evgeny Korolyuk
正如我们从艰难的经验中学到的那样,OpenAPI Generator的C#代码生成功能非常有限,对许多OpenAPI特性缺乏适当的支持。特别是OneOf/AllOf/AnyOf并没有得到官方支持,并且在不带自定义模型或自定义模板的情况下使用起来相当棘手。 - undefined
csharp 支持 allOfanyOfoneOf。您正在使用哪个版本的 OpenAPI Generator?最新版本是 v7.0.0。 - undefined

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接