admin管理员组文章数量:1567915
今天前端同事突然告诉我swagger不能使了,在我更新系统前可以正常使用。
Unable to render this definition
The provided definition does not specify a valid version field.
Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: "2.0"
and those that match openapi: 3.0.n
(for example, openapi: 3.0.0
).
擦,那得赶紧想办法修理啊。看提示信息一开始我怀疑是swagger版本的问题,但是也不能突然之间就不行了,于是在百度海洋里遨游了一番,说是造成这个错误的原因一般有3点:
1、api中的Controller/Action 请加入[HttpPost]或者 [HTTPGet]
2、api中的Controller中有私有方法(全部写道Service)
3、传入参数模型有问题.
仔细检查了一番,前两点确定没有问题,那就只剩传入参数模型的问题了,但看了好大会儿也没有发现什么问题,隐约记得昨天自己看的时候swagger还可以正常访问,于是抱着试试看的心态把新加的一个接口controller注释掉,重启后swagger可以正常访问,定位到问题在哪了。
看了一会儿并没有觉得哪里写的有问题,可事实是这个接口导致swagger不能正常访问,肯定是有问题的。难道是因为
termUnAssignEntitiesReqList 处 example中写了个省略号?修改为
重启,嘿,可以正常访问了。
我之前一直以为example就是个String,写成什么格式都没有影响,今天才发现example也有一些约束,比如想展示列表时不要像我这样子写省略号。
版权声明:本文标题:swagger:一个省略号引发的血案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727248878a1104983.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论