.Net core 使用swagger進行Api管理

    上次咱們講過如何在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就能夠直接查看了。

標紅的部分就是分組的信息,這裏只是舉一個例子,千萬不要隨意分組,該隱藏的接口仍是要隱藏的。

這是第二組,分組其實很是簡單,但願能幫到各位。把項目的接口好好分類,是一個很是好的習慣,有利於提高開發效率和維護,最後仍是謝謝觀看。

相關文章
相關標籤/搜索