標籤:
扯淡
隨著app應用的崛起,後端服務開發的也越來越多,除了很多優秀的nodejs架構之外,微軟當然也會在這個方面提供更便捷的開發方式。這是微軟一貫的作風,如果從開發的便捷性來說的話微軟是當之無愧的老大哥,只是魚和熊掌不能兼得,各種文法糖帶來開發的便利勢必會犧牲程式啟動並執行效能,這是無可避免的,通用和效率永遠是需要程式員去取捨的話題。扯淡到這就完了,下來就聊聊今天的主角web api,web api 是mvc4.0之後出現的一種技術吧,他的建立和帶來的便利我就不介紹了。這邊文章主要聊聊,我對web api開發的一些理解。
話題一:[FromBody]特性修飾符
FromBody是一個修飾參數的特性,比如:public void Post([FromBody]string name),那麼他的作用是什麼呢,其實他的作用是查詢post請求中參數為name的值。
要注意的是:[FromBody]只能修飾單個參數,如果是多個參數的話,就要封裝成對象進行資料專遞了,比如:public void Post([FromBody]string name,[FromBody]int id)是取不到值的,要把id和name封裝成Userinfo對象,使用 public void Post([FromBody]Userinfo user)進行調用。
話題二:請求方式(Get & Post)
關鍵字區分:Get請求或者Post請求,可以用自身的關鍵字來區分,比如:GetUser(int id)肯定為get請求,Getxxx(params param)等格式為Get請求,post同理。當然還有一種方式,是沒有關鍵字修飾的方法,比如:FindUser這種情況下,這種請求下預設是Post請求的Get請求就會報405的錯。
話題三:返回json格式的結果
這個會簡單設定傳回值為Net內建的Json格式即可,可以返回JObject或JArray都是可以用ajax接收json對象的。代碼如下:
public JObject PostFindUser([FromBody]Userinfo user){ JObject res = new JObject(); res["name"] = string.Format("{0}是好人~", user.Name); return res;}
聊聊asp.net中Web Api的使用