首页 > 其他 > 详细

Swagger Unable to render this definition The provided definition does not specify a valid version field.

时间:2021-08-16 22:37:14      阅读:53      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

项目中.net core 3.1使用swagger集成接口,报上面错误

 

排查下来有以下可能的三个原因:

1、api中的Controller/Action 请加入[HttpPost]或者 [HTTPGet]

2、api中的Controller中有私有方法(全部写道Service)

3、传入参数模型有问题.

 

其中1、2已确定没问题,以为是之前遇到的路由名称重复,检查后发现并没有,于是想到了第三个原因:传入参数模型有问题,细想了下刚拆分过模型类,检查了发现果然是这个问题

在.net core中,重名类如果分布在两个命名空间中,.net core程序运行是正常的,但是swagger会识别不出来,算是swagger的一个bug,稍晚点会提给swagger社区

 

解决方案:将controller方法中使用到同名但不同命名空间的类移除掉,合并到同一个文件中即可.

 

Swagger Unable to render this definition The provided definition does not specify a valid version field.

原文:https://www.cnblogs.com/goldenbiu/p/15149373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!