使用java實現Restful webservice(Jersey)
http://www.myeclipseide.com/module-htmlpages-display-pid-7.html
原始碼:https://github.com/spring-guides/tut-rest
JAX-RS
Java API for xml-Restful Webservice
webservice resource class
Lifecycle:
- Pre-request(JAX-RS default)
- Singleton (ensures only one instance of this class is created by Jersey per web-application)
Consumes and Produces 用於設定預設的mime資料型別,該resource類可以接受和產生這些型別。 主要分為以下7種mime型別:
text/plain;
text/html;
application/xml;
application/json;
application/xml+application/json;
application/x-www-form-urlencoded; application/atom+xml;
Resource class method
8種param type:
Entity
Context
MatrixParam
QueryParam
PathParam
FormParam
CookieParam
HeaderParam
測試rs resource類
訪問 主機埠+專案名+攔截的路徑+application.wadl就可以了。
http://localhost:8080/restTest/rest/application.wadl
也可以使用myeclipse的REST Web Services Explorer(只能在32位windows下面使用!)
還有一種url測試工具是Firefox的Poster,Firefox也有一個外掛,但是使用起來沒有myeclipse那個好用。
表一. RESTful Web 服務示例
方法/資源 |
資源集合, URI 如: |
成員資源,URI 如: |
GET |
列出資源集合的所有成員。 |
檢索標識為 1234 的資源的表示形式。 |
PUT |
使用一個集合更新(替換)另一個集合。 |
更新標記為 1234 的數字資源。 |
POST |
在集合中建立數字資源,其 ID 是自動分配的。 |
在下面建立一個子資源。 |
DELETE |
刪除整個資源集合。 |
刪除標記為 1234 的數字資源。 |
//////////////////////////////
2009 年 8 月 03 日
http://www.infoq.com/cn/articles/rest-introduction
http://www.infoq.com/cn/articles/tilkov-rest-doubts
使用MyEclipse快速開發的幾篇好文章(myeclipse官方被牆)
-Scaffolding a Google Web Toolkit (GWT) 2.1 and Spring CRUD application in minutes
News: Code generation for Spring MVC3, JQuery, JPA2 CRUD Application
相關的幾本書籍
這本書2013年9月份出版,算比較新,其他的書都是2010年左右出版的。 Publication Date: September 30, 2013March 11, 2010
December 4, 2009
測試Restful Webservice的工具
工具1:RESTClient是一個用於測試RESTful Web services的Java客戶端
工具2:Myeclipse RESTful WebServices Explorer (很遺憾,不支援windows 64位系統)http://code.fosshub.com/WizToolsorg-RESTClient/downloads
另外firefox瀏覽器也有RestClient的外掛(這個用起來很方便)
在myeclipse中,右鍵工程根目錄選擇MyEclipse=>Test with RESTful WebServices Explorer 將會開啟測試視窗。
瀏覽中的地址為:http://localhost:8080/restblog/services/application.wadl 首先/services是由servlet攔截。如果在瀏覽器中瀏覽該地址,將得到一個xml檔案。這個檔案叫web service application description language。顧名思義他是一個服務描述檔案。
一些應用restful風格的實際案例:
1.jrest4guice
https://code.google.com/p/jrest4guice/ 向大家推薦一個REST的Java實現,並附加有例子 特點: * 基於GUICE,內建帶事務的JPA實現 * 零配置式服務宣告 * 服務的自動掃描註冊 * 非侵入式,使用者不需要實現特定的介面來實現Restful服務 * 支援Post. Get. Put. Delete操作 * 靈活的注入(支援上下文環境request/response以及引數的自動注入) * 與JAAS的無縫整合 * 支援分散式資源物件