我正在尝试使用Swashbuckle将Swagger UI集成到我的ASP.Net MVC项目中,但是Swashbuckle遇到无法识别我的任何控制器/端点的问题。
为简单起见,我用一个控制器创建了一个全新的项目,如下所示:
https://jsonplaceholder.typicode.com/posts
我使用Nuget通过以下命令添加Swashbuckle:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace TestAPI.Controllers
{
public class HomeController : Controller
{
[Route("Home")]
[HttpGet]
public ActionResult Index()
{
return View();
}
[Route("Home/About")]
[HttpGet]
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
[Route("Home/Contact")]
[HttpGet]
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
我保留了整个项目以及Swashbuckle本身的所有默认配置(使用生成的文件SwaggerConfig.cs)
当我导航到Swagger端点时,我会被一个空的Swagger定义欢迎,并且我的控制器/端点都没有显示。
我不知如何显示我的控制器/端点。所有Swashbuckle演示都使该基本配置看起来至少会使端点显示。
谢谢!
编辑:以下是我的SwaggerConfig.cs
Install-Package Swashbuckle
答案 0 :(得分:1)
此问题的答案是Swashbuckle不适用于ASP.Net MVC。不幸的是,Swashbuckle不是解决此问题的合适方法。我最终结合了反射和XML注释创建了一个自定义解决方案。