1. 程式人生 > >使用java實現Restful webservice(Jersey)

使用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 如:
http://host/<appctx>/resources

成員資源,URI 如:
http://host/<appctx>/resources/1234

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年左右出版的。    September 30, 2013

March 11, 2010

  September 24, 2010
  December 4, 2009
測試Restful Webservice的工具
  工具1:RESTClient是一個用於測試RESTful Web services的Java客戶端

http://code.fosshub.com/WizToolsorg-RESTClient/downloads

另外firefox瀏覽器也有RestClient的外掛(這個用起來很方便)

工具2:Myeclipse RESTful WebServices Explorer  (很遺憾,不支援windows 64位系統)

在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的無縫整合 * 支援分散式資源物件