rest 中最重要的概念是資源(resources),使用全球 id(通常使用 uri)標識。客戶端應用程式使用 http 方法(get/ post/ put/ delete)操作資源或資源集。restful web 服務是使用 http 和 rest 原理實現的web 服務。通常,restful web 服務應該定義以下方面:
支援 mime 型別的響應資料,包括 json/xml/atom 等等。
服務支援的操作集合(例如 post、get、put 或 delete)。
jersey的四種行為
方法http 方法對映到資源的 crud(建立、讀取、更新和刪除) 操作。儘管您可以做一些小修改,比如讓put
方法變成建立或更新,但基本的模式如下:
方法/資源
資源集合; uri 如:
成員資源; uri 如:
對應的操作
post
列出資源集合的所有成員。
檢索標識為 1234 的資源的表示形式。
c(建立)
get使用乙個集合更新(替換)另乙個集合。
更新標記為 1234 的數字資源。
r(讀取)
put在集合中建立數字資源,其id 是自動分配的。
在下面建立乙個子資源。
u(更新)
delete
刪除整個資源集合。
刪除標記為 1234 的數字資源。
d(刪除)
相關的架包結構
· 核心伺服器:jersey-core.jar,jersey-server.jar,jsr311-api.jar,asm.jar
· 核心客戶端:(用於測試)jersey-client.jar
· jaxb 支援:(在高階樣例中使用)jaxb-impl.jar,jaxb-api.jar,activation.jar,stax-api.jar,wstx-asl.jar
· json 支援:(在高階樣例中使用)jersey-json.jar
· spring支援:(在高階樣例中使用)jersey-spirng.jar
元註解資訊說明
生存週期說明
1. 預設不使用註解,表示生存週期等於request,請求過後自動銷毀,預設是執行緒安全的。
註解。生存週期等於整個應用程式的生存週期。
3. session,使用@persession註解。生存週期等於乙個session請求,session銷毀,該rest資源例項也同時銷毀。
bean註解說明
1.@path
路徑資訊,表示對映出去的訪問路徑。
範例如下:@path("/myresource")
2.@produces
3. @consumes
用於限制輸入的引數的型別,支援json、string、xml、html
範例如下:@consumes("text/plain")
4.@queryparam
通過request傳入的引數,可以轉換任何有以string為引數的建構函式的類。
5.@defaultvalue
@defaultvalue表示預設引數。
範例如下:@defaultvalue("2") @queryparam("step") int step,
5. @pathparam
@ matrixparam,@ headerparam,@ cookieparam和@ queryparam formparam聽從以相同的規則。
@ matrixparam提取url路徑段的資訊。 @ headerparam提取的http頭資訊。 @ cookieparam提取資訊的cookie餅乾宣布相關的http標頭。
@ formparam略有特殊,因為它提取請求表示,該型別匹配前面的@consumes所宣告的型別。
範例如下:
@post
public void post(@formparam("name") string name) {
6.pojo層面等相關註解,@xmlrootelement,支援jpa註解。
jersey常用註解
get 該註解標記的方法表明用於處理get請求,get方法是冪等且安全的。post 該註解標記的方法表明處理post請求,post方法表明是一種建立操作的方法,post方法是一種寫操作的http請求,rpc中的寫操作均是使用post方法,而在rest中我們只是使用post方法來新增資源。delete...
jersey常用的註解
1.produces produces注釋用來指定將要返回給client端的資料標識型別 mime produces可以作為class注釋,也可以作為方法注釋,方法的 produces注釋將會覆蓋class的注釋 2.consumes consumes與 produces相反,用來指定可以接受cli...
jersey常用的註解型別
http方法對映到資源的crud 建立 讀取 更新和刪除 操作,基本模式如下 produces注釋用來指定將要返回給client端的資料標識型別 mime produces可以作為class注釋,也可以作為方法注釋,方法的 produces注釋將會覆蓋class的注釋。a.返回給client字串型別...