Swagger
是一个非常优秀的API文档生成工具,但也无法掩盖它的各种大坑。今天就遇到了一个问题,就是突然之间API文档不能正常显示了,接口的参数全变成了 "string"
,而且在界面的上方显示了一大堆错误,错误如下:
Resolver error at paths./api/My/GetTicket.post.requestBody.content.application/json.schema.$ref
Could not resolve reference: Could not resolve pointer: /components/schemas/Wenhua.Models.RequestModel`1[[Wenhua.Member.Models.Request+Login, Wenhua.Member, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] does not exist in document
在运行目录里看了下,提示的xml文件都是存在的,经过Google搜寻后,使用了如下的方法解决:Program.cs
文件中在配置 Swagger
的地方做如下修改:
builder.Services.AddSwaggerGen(c =>
{
//省略掉其他的配置代码
//...
//...
c.CustomSchemaIds(x => x.FullName.Replace("+", ".")); //增加或修改该项,把原来的“.”替换成“.”
});
之后成功解决,特此记录,备忘。
以上。
本文作者:老徐
本文链接:https://bigger.ee/archives/752.html
转载时须注明出处及本声明