1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        net core 3.1 swagger文檔添加 不用xml配置

        共 3750字,需瀏覽 8分鐘

         ·

        2020-11-02 11:13


        使用特性來描述接口而不是xml文件,使用特性可自定義接口在swaggerUI上的描述

        安裝nuget包:Swashbuckle.AspNetCore.SwaggerUISwashbuckle.AspNetCore.Annotations,配置swagger:

         1  public void ConfigureServices(IServiceCollection services)
        2 {
        3 services.Configure(Configuration); 4
        5
        6 #region 添加Swagger
        7 services.AddSwaggerGen(opt=> {
        8 opt.SwaggerDoc(swaggerDocName, new OpenApiInfo() { Version="v1",Title="watch api",Description="watch"});
        9 //使用annotation來描述接口 不依賴xml文件
        10 opt.EnableAnnotations();
        11
        12 // 下面兩句,將swagger文檔中controller名使用GroupName替換
        13 // 在Swagger中,一個Tag可以看作是一個API分組
        14 opt.DocInclusionPredicate((_, apiDescription) => string.IsNullOrWhiteSpace(apiDescription.GroupName) == false);
        15 opt.SwaggerGeneratorOptions.TagsSelector = (apiDescription) => new[] { apiDescription.GroupName };
        16
        17 });
        18
        19 #endregion
        20
        21 services.AddControllers();
        22
        23
        24
        25
        26
        27 }

        使用上面注入好的swagger

          // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {




        if (env.IsDevelopment())
        {
        app.UseDeveloperExceptionPage();
        }
        #region Swagger

        app.UseSwagger(opt
        =>
        {
        // 相對路徑加載swagger文檔
        //opt.RouteTemplate = "swagger/{documentName}";
        })
        .UseSwaggerUI(opt
        =>
        {
        opt.SwaggerEndpoint($
        "{swaggerDocName}/swagger.json", "watch API文檔");
        });
        #endregion
        app.UseHttpsRedirection();

        app.UseRouting();


        app.UseEndpoints(endpoints
        =>
        {
        endpoints.MapControllers();
        });
        }

        Controller和Action上使用特性:ApiExplorerSettingsSwaggerOperation

        namespace WatchApi.Controllers
        {
        [ApiExplorerSettings(GroupName
        = "品牌")]
        [Route(
        "[controller]/[action]")]
        [ApiController]
        public class pinpaiController : ControllerBase
        {
        private readonly IMapper _mapper;
        private readonly IpinpaiService _pinpaiserver;
        public pinpaiController(IpinpaiService pinpaiserver, IMapper mapper)
        {
        _pinpaiserver
        = pinpaiserver;
        _mapper
        = mapper;
        }
        [SwaggerOperation(Summary
        = "獲取列表")]
        [HttpGet]
        public ResponseModel> Get()
        {
        var resModel = _pinpaiserver.GetListpinpai();
        return ResponseModel.Succeed>(resModel);
        }
        [SwaggerOperation(Summary
        = "添加商品")]
        [HttpPost,Authorize]
        public ResponseModel Add(pinpai pinpaiobj)
        {
        //pinpaiRequest obj
        //var pinpaiobj1 = _mapper.Map(pinpaiobj);
        var result = _pinpaiserver.Addpinpai(pinpaiobj);
        if (result)
        {
        return ResponseModel.Succeed();
        }
        else
        {
        return ResponseModel.Failed();
        }

        }

        [HttpPost]
        public ResponseModel<string> Add1([FromForm] string name)
        {
        return ResponseModel.Succeed(name);
        }

        }
        }

        訪問https://localhost:5001/swagger/index.html? ?換成自己的調(diào)試鏈接

        效果圖如下


        往期精彩回顧




        【推薦】.NET Core開發(fā)實戰(zhàn)視頻課程?★★★

        .NET Core實戰(zhàn)項目之CMS 第一章 入門篇-開篇及總體規(guī)劃

        【.NET Core微服務(wù)實戰(zhàn)-統(tǒng)一身份認(rèn)證】開篇及目錄索引

        Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)

        .NET Core中的一個接口多種實現(xiàn)的依賴注入與動態(tài)選擇看這篇就夠了

        10個小技巧助您寫出高性能的ASP.NET Core代碼

        用abp vNext快速開發(fā)Quartz.NET定時任務(wù)管理界面

        在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實現(xiàn)作業(yè)調(diào)度

        現(xiàn)身說法:實際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化

        關(guān)于C#異步編程你應(yīng)該了解的幾點(diǎn)建議

        C#異步編程看這篇就夠了


        瀏覽 32
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美性猛交XXXXX水多 | 国产高潮流白浆A片免费老牛 | 三级片www. | 看躁逼 | 偷拍大学生情侣无套进入 | 我要大鸡吧 | 都市校园春色激情国产 | 护士丝袜脚交footjob 女人被狂躁到高潮嗷嗷叫 噜噜噜av | 午夜视频成人 | 爆操极品 |