Restful & odata using asp.net web api

1,289 views

Published on

Rest

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,289
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Restful & odata using asp.net web api

  1. 1. REST & OData using ASP.NET Web API 劉昱劭
  2. 2. REST / RESTful
  3. 3. REST O Roy Fielding 2000年 O Representational State Transfer O 資源(分布在網路上的東西) O 表示方式(HTML、XML、JSON、Image…) O 狀態轉換(Client端的操作行為) O Architectural Styel(架構風格) O HTTP 實作(RESTful Web Service)
  4. 4. REST & HTTP O 資源的位置 O 由URI來表示 O 資源的操作方式 O 獲取、創建、修改和刪除資源 O GET 、POST 、PUT 、DELETE O 資源的表現形式 O XML、JSON… O Accept: application/xml(HTTP Header)
  5. 5. URI表示 O 服務 O 資源位置 O 參數 http://localhost:8888/Contact?Name=CHT O 以名詞為種,用“/”表示階層 O http://crm2.hisales.hinet.net/webapi/SMSA ctivity/{activityId} O http://crm2.hisales.hinet.net/webapi/SMSA ctivity/{activityId}/SMSLog
  6. 6. 資源與HTTP方法(1/2) HTTP方法 資源: /api/values 資源: /api/values/1 GET 取得所有資源 取得指定資源 POST 新增一組資源 PUT 更新所有資源 更新指定資源 DELETE 刪除所有資源 刪除指定資源 GET http://crm2.hisales.hinet.net/webapi/contact =>代表存取所有聯絡人 GET http://crm2.hisales.hinet.net/webapi/contact/{id} =>代表存取指定id聯絡人 POST http://crm2.hisales.hinet.net/webapi/contact =>代表新增聯絡人
  7. 7. 資源與HTTP方法(2/2) PUThttp://crm2.hisales.hinet.net/webapi/contact/{id} =>代表修改指定id聯絡人 DELETEhttp://crm2.hisales.hinet.net/webapi/contact/{id} =>代表刪除指定id聯絡人 GET http://crm2.hisales.hinet.net/webapi/contact/{id}/SMSActivity =>代表存取與指定id聯絡人有關的所有簡訊活動 GET http://crm2.hisales.hinet.net/webapi/SMSActivity/{activityId} =>代表存取指定簡訊活動 GEThttp://crm2.hisales.hinet.net/webapi/SMSActivity/{activityId}/SMSLo g =>代表存取指定簡訊活動的發送記錄 POSThttp://crm2.hisales.hinet.net/webapi/MarketingList/{mid}/contact =>代表新增聯絡人到指定的行銷名單中
  8. 8. OData
  9. 9. Open Data Protocol(OData) O Uniform Data Access O ODBC O OLEDB O JDBC O 沒有存取Web 資料的統一方 O Microsoft 2009年2月 O 1.0、2.0、3.0、4.0(Now)
  10. 10. Open Data Protocol(OData) O 基於RESTful與Http所制定的協定 O 統一的資料表示方式 O Atom, JSON formats O 統一的操作 O GET(select), POST(insert), PUT(update), DEL ETE(delete) O 統一的URL conventions O Navigation, filtering, sorting, paging, etc. O http://www.odata.org/ O http://odata.ntpc.edu.tw/(新北市教育局)
  11. 11. URL conventions(1/2) 基本選項 說明 $top=n 前N筆 $skip=n 略過N筆 $filter=<expression> 依條件過濾 $orderby=<expression> 排序  以QueryString方式執行 $skip + $top = paging
  12. 12. URL conventions(2/2) 基本選項 說明 eq 等於 gt 大於 lt 小於 ne 不等於  $filter=UnitPrice gt 100&$orderby=ProductName
  13. 13. Operator by Odata 4.0 O Add O eq O le O Div O ne O and O Sub O ge O or O Mod O gt O not O Mul O lt http://www.odata.org/documentation/odata-v3documentation/url-conventions/
  14. 14. QueryOptions by Odata 4.0 O $skip O $select O $top O $inlinecount("allpag O $orderby es" / "none") O $format O $expand http://msdn.microsoft.com/en-us/library/dd541320.aspx
  15. 15. 誰在用Odata(1/2) O Microsoft O SharePoint O SQL Azure O SQL Server O IBM O IBM WebSphere
  16. 16. 誰在用Odata(2/2) O Live Odata Service O Facebook Insights O Netflix O Open Government Initiative O Open Science Data initiative O Etc.. O We can provide O WCF Data Services O OData4J O ASP.NET Web API
  17. 17. ASP.NET Web API
  18. 18. ASP.NET Web API O 1.0 O Visual Studio 2012 O ASP.NET MVC 4.0 O 2.0 O Visual Studio 2013(2013/10/18) O ASP.NET MVC 5.0 O NuGet獨立下載 O Attribute routing、CROS、OWIN
  19. 19. DEMO
  20. 20. Q&A

×