中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

LindDotNetCore~添加路由前綴

回到目錄

路由前(qian)綴就是我們所說的(de)api/values里的(de)api,這(zhe)里的(de)api可以用其它具體(ti)含義的(de)字(zi)符表(biao)示,如(ru)Shop,Order,Game,它可以表(biao)示一(yi)個(ge)個(ge)模塊,這(zhe)一(yi)般在單體(ti)架(jia)構里;也可以是一(yi)個(ge)個(ge)小服(fu)務(wu),這(zhe)一(yi)般在微服(fu)務(wu)架(jia)構里.

對于基于微(wei)服(fu)務的設計理(li)念里,我(wo)們每個(ge)模塊都成了一(yi)個(ge)網站,一(yi)個(ge)服(fu)務,它們的路由應該具有一(yi)定的可(ke)讀性,不能(neng)都是api/v1,api/v2了,我(wo)們最好可(ke)以統一(yi)天入口添(tian)加它,默認地,這種前綴是在(zai)控(kong)制器上添(tian)加特(te)性來實現的,例(li)如:

[Produces("application/json")]
[Route("api/v1/EF")]
public class EFController : Controller

而如果(guo)希(xi)望統(tong)一(yi)設(she)置前(qian)綴,我(wo)們需要自己添加(jia)擴展(zhan)方(fang)法(fa),像IApplicationModelConvention集(ji)合(he)里(li)添加(jia)自己的路由(you)前(qian)綴,一(yi)般地作(zuo)法(fa)是在.net core startup類(lei)里(li)添加(jia)擴展(zhan)的注入,當然前(qian)提是你要設(she)計擴展(zhan)方(fang)法(fa)來實現對這(zhe)個集(ji)合(he)的insert操作(zuo).

    /// <summary>
    /// 路由擴展 
    /// </summary>
    public static class RoutePrefixExtensions
    {
        /// <summary>
        /// 添加(jia)自定(ding)義前綴
        /// </summary>
        /// <param name="opts"></param>
        /// <param name="routeAttribute"></param>
        public static void UseCentralRoutePrefix(this MvcOptions opts, IRouteTemplateProvider routeAttribute)
        {
            opts.Conventions.Insert(0, new RouteConvention(routeAttribute));
        }
    }

這(zhe)種(zhong)在(zai)startup注冊這(zhe)個方法即(ji)可

 services.AddMvc(opt =>
 {
  opt.UseCentralRoutePrefix(new RouteAttribute("Api"));
 });

事實上,根據我們的(de)規(gui)則我們可以(yi)添(tian)加很多擴(kuo)展 ,在AddMvc被注冊(ce)時(shi),同時(shi)注冊(ce)進去(qu)!

感謝各位閱讀!

回到目錄

posted @ 2018-02-02 17:05  張占嶺  閱讀(1381)  評論(0)    收藏  舉報