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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebApi笔记

發布時間:2024/10/12 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebApi笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebApi有一段時間沒用了,這幾天用webapi做了一個接口供第三方調用,又重新折騰了下,做個筆記記錄下心得,防止遺忘。

1、webapi使用的RESTful風格的傳參方式,其實就是充分利用HTTP請求的格式來完成參數的傳遞。HTTP請求除了常用的get、post請求方式外,還有put、patch、delete請求方式。

2、后臺對應的限制傳參特性標簽有[HttpGet]、[HttpPost]、[HttpPut]、[HttpPatch]、[HttpDelete]。

3、在給方法起名字的時候,方法名稱前面最好加上對應的請求方式,比如Get***、Post***、Put***、Delete***。這樣即使不使用特性標簽,請求也能根據webapi的路由機制自動匹配對應的方法。

4、HttpPatch在webapi中是部分更新的意思,但要注意,由于MVC的模型綁定功能,在進行部分傳參的時候,會把未進行需要傳參的參數重裝為null。例如:只修改Name,則使用HttpPatch的時候,會把Email的值改成null。所以,在使用HttpPatch的時候,這一點需要特別注意。

5、如果不想使用[FromBody]這樣的形式傳參,可以使用dynamic定義參數。在這樣進行操作時候,前端傳遞的參數必須是json的形式,而且要添加contentType:'application/json'參數。具體使用方式請參考put傳參的代碼。

?

?View:

1 <html> 2 <head> 3 <meta name="viewport" content="width=device-width" /> 4 <title>Index</title> 5 <script src="~/Scripts/jquery-1.10.2.min.js"></script> 6 <script> 7 $(function () { 8 $('#btn_get').click(function () { 9 $.ajax({ 10 url: '/api/WebApiDemo', 11 type: 'get', 12 data: { Id: 1, Name: '卡卡西', Email: 'kkx@163.com' }, 13 success: function (data) { 14 alert('get請求'); 15 } 16 }); 17 }); 18 19 $('#btn_post').click(function () { 20 $.ajax({ 21 url: '/api/WebApiDemo', 22 type: 'post', 23 data: { Id: 1, Name: '卡卡西', Email: 'kkx@163.com' }, 24 success: function (data) { 25 alert('post請求'); 26 } 27 }); 28 }); 29 30 $('#btn_put').click(function () { 31 $.ajax({ 32 url: '/api/WebApiDemo', 33 type: 'put', 34 contentType: 'application/json', 35 data: JSON.stringify({ Id: 1, Name: '卡卡西', Email: 'kkx@163.com' }), 36 success: function (data) { 37 alert('put請求'); 38 } 39 }); 40 }); 41 $('#btn_delete').click(function () { 42 $.ajax({ 43 url: '/api/WebApiDemo', 44 type: 'delete', 45 data: { Id: 1, Name: '卡卡西', Email: 'kkx@163.com' }, 46 success: function (data) { 47 alert('delete請求'); 48 } 49 }); 50 }) 51 52 }); 53 </script> 54 </head> 55 <body> 56 <div> 57 <input type="button" id="btn_get" value="Get查詢請求" /> 58 <input type="button" id="btn_post" value="Post提交數據" /> 59 <input type="button" id="btn_put" value="Put修改數據" /> 60 <input type="button" id="btn_delete" value="Delete刪除數據" /> 61 </div> 62 </body> 63 </html>

?

Controller:

1 [HttpGet] 2 public string GetDemo([FromUri] Person person) 3 { 4 return "ok"; 5 } 6 [HttpPost] 7 public string PostDemo([FromBody] Person person) 8 { 9 return "ok"; 10 } 11 [HttpPut] 12 public bool PutDemo(dynamic obj) 13 { 14 return true; 15 } 16 17 [HttpDelete] 18 public bool DeleteDemo([FromBody] Person person) 19 { 20 return true; 21 }

運行截圖:

Get傳參:

Post傳參:

Put傳參:

Delete傳參:

?

轉載于:https://www.cnblogs.com/sunice/p/6436009.html

總結

以上是生活随笔為你收集整理的WebApi笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。