webapi呢,我們建立的時候我給我們5個方法:get get(data)put post delete。
很明顯,get,get(data)是用來獲取,post用來修改資料的,put,delete用的比較少了,我習慣性用ajax,每接觸webapi的時候很少delete和put,後來用的用的覺得還是要知道這四個不同的東西。
經過一查發現是http協議,既然是一種協議操作還是自己操作的,比如說傳來4,5兩個數,你相加還是相減還不是自己決定的?越來越多的程式設計師會去區分get,post,因為兩者必須要清楚,
所以這就造成乙個現象mvc可能不支援put,和delete,可能會報405錯誤,還有一點需要說明,delete不要去傳資料,它是一種鏈結提交方式,然後還需要一點修改支援。
webapi 返回函式有下面幾種:
void();返回空。
json(content);json物件
這裡我說明一下,有些人認為返回乙個序列化的string和json他們不是最終傳輸的都是string嗎,為何前台用ajax得到的乙個是string乙個是json,如果有著這樣的疑問相信手寫一遍ajax就沒有疑問了,後面我會講到。
ok和 ok(content)
content(httpstatuscode statuscode, t value) 自定義屬性和返回型別
badrequest() 返回400;
redirect(string location) 重定向
還有自定義的ihttpactionresult;
說說原理吧 ,我所以把ihttpactionresult放到最後面是因為除了void(),其他都實現ihttpactionresult。
為什麼是這樣呢,因為http協議是有規範的,要有頭吧,要有身體吧,所以webapi就封裝了這樣乙個介面供大家去實現你對應的規範,上面這些只是webapi幫你封裝好了的。
在下就示例乙個它是怎麼寫的吧:
}}這樣就自己實現了返回物件了,總的來說就是符合http協議即可。
差點忘記了,前面說的ajax,返回stirng型別和json型別,其實就是得到了頭部的型別然後自己去轉換的,不是說http傳來的是json物件,http傳的一定是個字串,而不會是乙個json物件,其中封裝了獲取型別物件,然後判斷,轉換,呼叫**函式。
Android自定義返回按鈕
在網上找了很多關於呼叫系統返回的按鈕,但都不成功,總是報空指標。如下 onkeydown keyevent.keycode back,null 說加上這麼一句話就可以呼叫,但總是報空指標,不知道為什麼,有知道的嗎?後來上網上又找到了另一種方法實現,就是用activity的跳轉形式來實現,因為acti...
Android自定義返回按鈕
在網上找了很多關於呼叫系統返回的按鈕,但都不成功,總是報空指標。如下 onkeydown keyevent.keycode back,null 說加上這麼一句話就可以呼叫,但總是報空指標,不知道為什麼,有知道的嗎?後來上網上又找到了另一種方法實現,就是用activity的跳轉形式來實現,因為acti...
Spring Data Jpa 查詢返回自定義物件
今天使用jpa遇到乙個問題,發現查詢多個欄位時返回物件不能自動轉換成自定義物件。如下 user 實體物件 entity table name t user public class user public void setid integer id public strng getname publ...