我从https://aspnetboilerplate.com/Templates下载了一个新的 .Net Core MVC 项目模板,设置了所有内容(数据库和恢复的 nuget 包)并运行了 Host 应用程序。一切都很好,因为我让 Swagger UI 运行起来并且可以看到所有标准服务。
然后我继续在 Host 应用程序中创建一个简单的 API 控制器:
[Route("api/[controller]")]
[ApiController]
public class FooBarController : MyAppControllerBase
{
public string HelloWorld()
{
return"Hello, World!";
}
}
然后 Swagger 无法加载 API 定义:
Fetch error
Internal Server Error http://localhost:21021/swagger/v1/swagger.json
如果我删除Route
andApiController
属性,Swagger 会再次工作,但不会显示我的新控制器。我可以通过访问它来访问它,http://localhost:21021/foobar/helloworld
这可能很好,但我希望它出现在 Swagger UI 中。
我错过了什么吗?