使用模板将Web服务的结果转换为标记语言
核心要點
\- HTTP-RPC是一個開源的框架,用來在Java中構建REST服務; \
- 同一個代碼庫,可以服務于Web、移動和桌面客戶端; \
- 默認提供了JSON響應數據; \
- 通過使用模板,支持基于HTML的資源表述; \
- 同時還可以生成XML、CSV等格式。
Web服務是一種實現應用邏輯的方式,能夠通過HTTP進行遠程訪問。它們允許分布式的客戶端與服務端的功能進行交互,這些客戶端通常可能是異構的,服務還經常會用來為移動應用提供后端API。但是,它們在實現的時候,往往會采用與應用程序Web前端相獨立的軟件棧,這樣的話,就會導致額外的開發和維護成本。\
模板是一種將數據與展現分離的方法。它們能夠輸出針對特定數據結構的格式,不過模板與數據本身是相互獨立的,這樣就為兩者的責任畫出了清晰的界限。在MVC術語中,模板代表了視圖,而數據結構代表了模型。Web服務擔任了控制器的角色,接受調用者的輸入,生成模型數據并將模板用到模型上,從而產生最終的結果。\
使用HTTP-RPC框架實現的Web服務會有相應的輸出,我們可以借助CTemplate系統(也叫作Mustache)所編寫的模板將輸出轉換為HTML。這樣的話,一個應用可以同時服務于Web和移動客戶端,提升了同一個代碼庫的使用效率,顯著降低總體的開發成本。\
HTTP-RPC
\HTTP-RPC是一個開源框架,用于簡化基于REST的應用開發。它允許開發人員創建和訪問基于HTTP的服務,在這個過程中采用了一種便利的、類似于RPC隱喻的做法,同時又保持了REST的基本原則,如無狀態和統一資源訪問。關于HTTP-RPC的更多信息,我之前的文章進行更為全面的介紹。\
HTTP-RPC服務要通過HTTP動作來進行訪問,比如對目標資源的GET或POST請求。目標是通過路徑來進行指定的,路徑代表了資源的名稱,通常會使用一個名詞來組成URL,比如/calendar或/contacts。\
參數會通過查詢字符串或類似于HTML表單那樣的請求體的方式來提供。結果通常會返回JSON格式,當然不返回任何值的操作也是支持的。\
例如,如下的請求將會得到兩個數字的和,這兩個數字分別是通過a和b這兩個查詢參數指定的:
GET /math/sum?a=2\u0026amp;b=4\服務將會在響應中返回6這個值。\
樣例服務
\WebService類是一個用于HTTP-RPC Web服務的基礎抽象類。我們定義服務操作的方式就是為某個具體的服務實現添加公開方法。\
@RPC注解用來標記某個方法可以進行遠程訪問。這個注解會為方法關聯一個HTTP動作和資源路徑。當服務發布之后,所有帶有注解的公開方法將會自動允許遠程執行。\
例如,如下的類可以用于實現我們前文所述的簡單加法操作:
public class MathService extends WebService {\ @RPC(method=\"GET\總結
以上是生活随笔為你收集整理的使用模板将Web服务的结果转换为标记语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 7.0 多窗口模式
- 下一篇: MySQL5.7号称永久解决了复制延迟问