標籤:
asp.net 的MVC4 WEBAPI的出現已經有段時間了。最近因為做自己的一些小玩兒,要做一個API,正好可以學習一下這個WEBAPI。
WEBAPI項目的建立我就不囉嗦,先來看看webapi的路由配置吧
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );
直接api跟控制器Controller的名字就可以了,這會讓人疑惑這樣的配置怎麼才能訪問到controller裡的方法呢?我們都知道controller裡的方法上可以加httpget或httppost這樣的。所以我們得在方法上加上這些HttpMethod。
下面看看controller與url的映射關係
URL |
controller的action |
httpmethod |
/api/controllername/id |
getuser(int id) |
httpget |
/api/controllername/?name=xx |
getuser(string name) |
httpget |
/api/controllername/ |
adduser(usermodel user) |
httppost |
/api/controllername/id |
deleteuser(int id) |
httpdelete |
/api/controllername/ |
deleteall() |
httpdelete |
/api/controllername/ |
putuser() |
httpput |
注意:getuser(int id)這個方法的id不能改,改了之後就訪問不到這個方法了。像這樣的API配置是簡單了,但是這要我們在controller裡的每個方法加上httpmethod說明而且一個controller裡的方法寫不了多少個。不過不用擔心,我們可以自己定義我們的路由配置,如下
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } );
這樣配置我們就可以靈活的使用了。
以上是我個人學習的一些初淺的認識,歡迎大家指出我的不足。
ASP.NET MVC WEBAPI第一次接觸