最佳答案
我开发了一个 ASP.NET Core 2应用程序,其中包括了 Swagger。一切都很好,直到我引入了一个没有明确定义 HTTP 动作的方法:
public class ErrorController : Controller
{
[Route("/error")]
public IActionResult Index()
{
return StatusCode(500, new Error("Internal error."));
}
}
当我用这种方法启动应用程序时,出现了以下信息:
加载 API 定义失败。
错误
获取错误内部服务器错误/swagger/v1/swagger.json
一旦我显式地设置例如 [HttpGet]
,错误就会消失。这样做的问题是,我需要这个方法来触发所有可能的 HTTP 操作。
当然,我可以明确地指定所有的操作,但我觉得斯威格应该能够正确地处理这个问题。
斯威格为什么会这样?
有什么配置我可以用吗?