上次咱們講過如何在swagger上隱藏接口,衆所周知,swagger是一個強大的api文檔工具,能夠幫助咱們記錄文檔而且測試接口,也是一個可視化操做接口的工具。json
那麼若是咱們寫的接口很是多的時候怎麼辦,如何進行分類管理呢,這個時候就須要用到swagger分組功能。api
接下來就介紹如何進行分類:app
首先咱們須要在startup類設置中間件。工具
在Configure方法中添加:測試
app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/Attendance/swagger.json", "Attendance"); c.SwaggerEndpoint("/swagger/Salarypage/swagger.json", "Salarypage"); c.SwaggerEndpoint("/swagger/Employee/swagger.json", "Employee"); });
默認狀況只會有安裝swagger包以後默認的一條。spa
c.SwaggerDoc("v1", new Info { Title = "Demo", Version = "v1" });
因此咱們須要進行分組,這裏分了三組。而後在ConfigureServices方法中,配置咱們的組名:3d
services.AddSwaggerGen(c => { c.SwaggerDoc("Attendance", new Info { Title = "一組", Version = "Attendance" }); c.SwaggerDoc("Salarypage", new Info { Title = "二組", Version = "Salarypage" }); c.SwaggerDoc("Employee", new Info { Title = "三組", Version = "Employee" }); var xmlFile = $"{Assembly.GetEntryAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); c.IncludeXmlComments(xmlPath); c.DocumentFilter<HiddenFilter>(); });
這裏顯而易見分了三組,配置成功以後就能夠直接使用了,咱們須要在控制器類中設置特性:code
[ApiExplorerSettings(GroupName = "Attendance")]
就像這樣:xml
[Route("Employee")] [ApiExplorerSettings(GroupName = "Attendance")] [Authorize] public class EmployeesController : Controller { private readonly IEmployeeLogicHandler employeeLogicHandler; public EmployeesController(IEmployeeLogicHandler employeeLogic) { employeeLogicHandler = employeeLogic; } /// <summary> /// 人員管理頁面 /// </summary> /// <returns>IActionResult</returns> [HttpGet] public IActionResult Index() { return View(); } }
而後咱們就能夠查看咱們的結果了:中間件
打開swagger,在地址後面加/swagger就能夠直接查看了。
標紅的部分就是分組的信息,這裏只是舉一個例子,千萬不要隨意分組,該隱藏的接口仍是要隱藏的。
這是第二組,分組其實很是簡單,但願能幫到各位。把項目的接口好好分類,是一個很是好的習慣,有利於提高開發效率和維護,最後仍是謝謝觀看。