Visual Studio 500控制器错误,即使它没有达到www.example中控制器的动作方法 www.example.com

wwwo4jvm  于 2023-05-01  发布在  其他
关注(0)|答案(3)|浏览(153)

阿萨拉穆阿赖库姆。我做了一个API控制器。当我在visual studio和query中运行时,swagger返回了500个错误,但是当我调试时,它没有到达控制器操作。

这就是为什么以及如何解决它?

我还创建了一个简单的,没有参数,只是一个测试端点,它只是返回一个int变量。当查询此控制器的终结点时,不会访问此控制器文件中的任何方法。
顺便说一句,这是一个。NET框架应用程序。

认识兄弟#help

ufj5ltwl

ufj5ltwl1#

我知道为什么会这样了。这是因为控制器中使用的服务没有在DI容器中注册。在我看来,它应该只是抛出一个异常,而不是返回500而不到达控制器操作。不管怎么说,我不知道为什么,但这对我工作后,我把服务添加到DI。

f2uvfpb9

f2uvfpb92#

我竟然忘了我的这个问题。但是,无论如何,这个答案中可能有一些对某人有用的东西。
我找到了答案:如果有某种服务没有在依赖注入中注册,那么对于任何请求,swagger都会出现500错误。任何调用在到达控制器之前都将面临抛出的异常。

dldeef67

dldeef673#

发生这种情况的另一个原因是,您有多个端点具有相同的路由,例如:GET jobs/解析为两个+方法。

相关问题