關於構建REST風格的SOE的策略
為了能夠建立REST風格的SOE,你需要仔細的計劃什麼資訊什麼型別的資訊會被髮送到伺服器以及你期望返回什麼內容。要考慮到REST SOE包括資源和操作。如下所示:
資源就是你從伺服器獲取的一些資訊,比如有可能是地圖下的圖層列表或者是切片地圖中可用層級的資訊。如果你有一定的程式設計經驗的話,可以把資源看成一種只讀屬性。
操作就是讓伺服器對資源進行處理的方法。在執行完一項操作之後,你可能獲取文字資訊、影象或者是其他資訊。操作就相當於程式設計中的方法。
在你開始編寫REST SOE程式碼之前,你需要確定SOE需要暴露哪些資源與操作。如果有必要的話,你可以畫一個圖表,並註明每項的輸入引數以及輸出結果。REST SOE可以暴露多個資源與操作,如此一來有可能會導致你的SOE非常複雜。如果你剛剛開始學習SOE,你最好用只有一個操作的SOE作為練習。
為什麼在你編碼之前設計REST SOE的schema如此重要?因為你需要通過程式設計的方式來建立你的SOE的schema。通過相應的模板開始建立SOE,你需要將模板中的資源和操作替換成你自己的資源與操作。從根資源(你的SOE的根URL)開始,逐漸增加資源與操作,知道你的schema建立完成。
你需要建立schema的另一個原因是你需要對所有的請求以及反映結果進行序列化與反序列化。比如,輸入了x、y座標作為一個操作的引數,這些資訊會以JSON的形式傳遞到伺服器。在你的程式碼中,你需要實現讀取這個JSON資料並從中獲取x、y座標將其轉換為IPoint介面或者轉成成其他GIS用來進行處理的物件。ESRI.ArcGIS.SOESupport庫可以幫你完成這些,但是你最好還是你傳入服務的型別以及服務的響應結果的型別,這樣你就可以為反序列化與序列化做好準備。
相關文章
- REST架構風格的架構元素REST架構
- REST架構風格的由來REST架構
- Restlet - REST架構風格的介紹REST架構
- 建立REST SOE的schemaREST
- 使用ASP.NET Web Api構建基於REST風格的服務實戰系列教程ASP.NETWebAPIREST
- 理解本真的REST架構風格REST架構
- 示例:建立REST SOEREST
- 實踐基於REST風格的Webservice(PHP,C#)RESTWebPHPC#
- Rest 風格說明REST
- REST設計風格REST
- 從零開始學typescript構建一個rest風格web服務TypeScriptRESTWeb
- REST SOE是什麼?REST
- REST SOE模板概覽REST
- SpringMVC+Json構建基於Restful風格的應用SpringMVCJSONREST
- 處理REST SOE請求REST
- 構建基於Spring4的Rest APISpringRESTAPI
- 使用Swashbuckle構建RESTful風格文件REST
- 基於libcurl實現REST風格http/https的get和postRESTHTTP
- 關於程式設計風格的討論 (轉)程式設計
- 在REST SOE中處理JSONRESTJSON
- 軟體架構風格——閉環架構風格(過程風格)架構
- 【閱讀筆記】REST設計風格筆記REST
- 在客戶端程式中使用REST SOE客戶端REST
- PyCharm關於修改程式碼的風格及樣式PyCharm
- 關於C語言結構體賦值(linux核心風格)C語言結構體賦值Linux
- 基於REST與Web架構的構想RESTWeb架構
- 建立REST SOE實戰演練系列連結REST
- 軟體架構風格——倉庫風格架構
- 探索Django REST框架構建強大的APIDjangoREST框架架構API
- springmvc+swagger構建Restful風格文件SpringMVCSwaggerREST
- 如何使用dotnet core 編寫REST風格APIRESTAPI
- 關於scala中的主建構函式函式
- 關於建構函式的一點理解函式
- 構建 iOS 風格移動 Web 應用程式的8款開發框架iOSWeb框架
- 軟體架構風格——虛擬機器風格架構虛擬機
- 關於建構函式與解構函式的分享函式
- 關於python建構函式的過載Python函式
- Docker容器 關於映象構建的安全問題Docker