1. 程式人生 > >Jersey中的常用註解總結

Jersey中的常用註解總結

@GET:該註解標記的方法表明用於處理GET請求,GET方法是冪等且安全的。

@POST:該註解標記的方法表明處理POST請求,POST方法表明是一種建立操作的方法,POST方法是一種寫操作的HTTP請求,RPC中的寫操作均是使用post方法,而在REST中我們只是使用POST方法來新增資源。

@DELETE:該註解標記的方法表明這個方法執行的是一個刪除資源的操作,其返回值可以是void,即沒有返回值。

@Consumes:在伺服器端,@Consumes(MediaType.APPLICATION_XML)定義了伺服器端要消費的媒體型別,也就是說消費客戶端請求實體的媒體型別,可以是xml、json等型別。

@Produces:@Consumes(MediaType.APPLICATION_XML)定義了伺服器端生產的媒體型別,即伺服器端產生的響應實體的媒體型別,同樣也可以是xml、json等媒體型別。

@Path:該註解可以標記在類名之上,也可以標記在方法名上。該註解接收一個value引數,表示定義資源的地址。另外,資源地址相同,但是HTTP方法不同的兩個方法是完全兩個不同的REST介面,HTTP方法和資源地址相結合在一起才可以完成對一個資源的定位。

複製程式碼

package com.zte.ems.resource;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import org.springframework.stereotype.Component;
@Component
@Path("/weclome")
public class JerseyResource {
    @GET
@Path("/wrong") public void getPage(@Context HttpServletRequest request) { System.out.println("這是一個get方法!"); } @POST @Path("/wrong") public void postPage(@Context HttpServletRequest request) { System.out.println("這是一個post方法!"); } }

複製程式碼

以上面這個類為例,雖然@Path的組合是"/weclome/wrong",但是由於HTTP方法不同,因此,執行的方法體也是不同的。

@QueryParam:該註解表明是一個查詢條件,查詢條件決定了方法的作用域,查詢引數組成了查詢條件。Jersey中使用@QueryParam註解來定義查詢引數。另外註解@QueryParam還可以和註解@DefaultVaule一起使用,註解@DefaultValue的作用則是預置一個預設值,當請求中不包括該引數時候使用這個預設值。

@PathParam:該註解定義路徑的引數資訊,每一個引數都對應一個子資源。

@FormParam:該註解表示用來定義表單的引數。

@Context:該註解用來解析上下文引數。(@Context HttpRequest request)