具体问题
Swagger调用接口的时候,HTTP返回200,但是内部返回500。
解决思路
-
因为500是内部服务器错误,而在代码保证没有错误的前提下,那就需要从配置文件去入手了,所以我们对配置文件打断点去进行调试判断即可。
-
不是说HTTP状态码为200,在swagger中调用就一定也是正常的,因为HTTP是外部的,而Swagger是针对本地来调试的
解决办法
-
把Rider中appsettings.Development.json文件中ApiServicesEndPoint里面的东西注释掉,即端口注释掉。因为不注释的话,会去访问这里面的端口然后再去访问数据库的,注释掉后就直接访问数据库里面的内容了。
-
然后把Program.cs中读取基本配置获取配置中心的连接字符串和加入配置中心配置到配置系统中这两部分字符串都统一为Development(因为有优先级,详情见ASP.NET Core的配置部分内容)