日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由

發(fā)布時間:2023/12/4 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

路由機制會把一個請求的URI映射到一個Controller上面的Action,所以當你發(fā)送一個HTTP請求的時候,MVC框架會解析這個請求的URI,并嘗試著把它映射到一個Controller上面的Action

?

兩個路由中間件

ASP.NET Core 3.x里面,建議使用Endpoint路由來進行設置。但是我們需要先在請求的管道里面添加兩個中間件:

  • app.UseRouting()。它是用來標記路由決策在請求管道里發(fā)生的位置,也就是在這里會選擇端點。

  • app.UseEndpoints()。它是用來標記選擇好的端點在請求管道的什么地方來執(zhí)行。

這樣做的好處就是,我們可以在選擇端點和執(zhí)行端點的中間位置插入其它的中間件。這樣的話,插入到中間位置的中間件就會知道哪個端點被選取了,而且它也有可能會選擇其它的端點。

?

一個非常好的例子就是授權中間件:

如果授權成功,那么就繼續(xù)執(zhí)行到之前選定的端點,否則的話就會跳轉(zhuǎn)到其它端點或者短路返回。

?

官方文檔:Startup里面路由配置的官方文檔。

?

映射端點

還是可以有兩種方式進行設置:基于約定 或者 基于屬性

基于約定的路由,例如這兩種:

這種方式更適合于服務器端的Web應用程序。

?

而針對Web API,使用基于屬性的路由更加適合:

可以看到,這里面僅僅映射了Controller,并沒有使用任何約定,所以我們需要采用屬性(Attribute)來進行設定。這里需要用到屬性(attribute)和URI模板。

  • 屬性(Attribute)。例如[Route][HttpGet][HttpPost]等等,可以把它們放在Controller級別,也可以放在Action級別上。

  • URI模板。將屬性結(jié)合URI模板一起使用,就可以把請求映射到ControllerAction上面。

?

例如:

?

官方文檔:路由基礎知識。

官方文檔請點擊原文鏈接.

總結(jié)

以上是生活随笔為你收集整理的使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。