1. 程式人生 > >RestEasy框架的請求方式六大引數定義@FormParam @PathParam @QueryParam @HeaderParam @CookieParam @MatrixParam

RestEasy框架的請求方式六大引數定義@FormParam @PathParam @QueryParam @HeaderParam @CookieParam @MatrixParam

@FormParam @PathParam @QueryParam @HeaderParam @CookieParam @MatrixParam 作為Restfull框架的基本應用,以上註解可以讓我們定義具體的請求方式

要用以上註解必須引入maven依賴

<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
<dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0-m02</version>
</dependency>

1.@FormParam

該註解定義在請求引數上,表示讓前端頁面進行表單提交

<form method="post" id="savingsCard" url="http://www.71bibll.com/addcard">
            <input id="bankName" name="bankName"  readonly="readonly" type = "text" placeholder="所屬銀行名稱">
            <input id="cardNo" name="cardNo" type="tel"   oninput="changes()"  placeholder="請輸入儲蓄卡卡號">
 </form>

@POST
  @Path("addcard")
  public String addCard(@FormParam("bankName") String n, @FormParam("cardNo") String c) {
    return "addcard with " + n + " " + c;
  }

[email protected]

@Pathparam標註繫結一個路徑段資源的方法引數的值。簡單的說把引數拼接在路徑裡

var url="http://www.71bibll.com/addcard/平安銀行/6230580000003620767"
@GET
  @Path("addcard")
  public String addCard(@PathParam("bankName") String n, @PathParam("cardNo") String c) {
    return "addcard with " + n + " " + c;
  }

3.@QueryParam

@QueryParam同樣是標註繫結一個路徑段資源的方法引數的值,和@pathParam不同的是,它不是url中的一個層級,而是用

?key=value的形式拼在url裡

var url="http://www.71bibll.com/addcard?bankName=平安銀行&cardNo=6230580000003620767"
@GET
  @Path("addcard")
  public String addCard(@QueryParam("bankName") String n, @QueryParam("cardNo") String c) {
    return "addcard with " + n + " " + c;
  }

4.@HeaderParam

 @HeaderParam  標註提取HTTP表頭( HTTP header)並將它繫結到一個方法的引數。

  $.ajax({
              type: "GET",
              url: "www.bibll.com/addcard",
              beforeSend: function(request) {
                  request.setRequestHeader("source", "bibll");
              },
              success: function(result) {
                  alert(result);
              }
         })
@GET
	public String callService(@HeaderParam("source") String source) {
  		return  "來源"+ source
	}

5.@CookieParam

@cookieParam業務場景比如說session管理,一般是通過cookie進行管理的。 
 

@GET 
@Path(“/cookie”) 
public String cookie(@CookieParam(“sid”) String sid){ 
 return sid; 
}

6.@MatrixParam

@MatrixParam的做法和@QueryParam有些相似,這個主要是做分離引數用的

var url="http://www.71bibll.com/addcard;bankName=平安銀行;cardNo=6230580000003620767"
@GET
  @Path("addcard")
  public String addCard(@MatrixParam("bankName") String n, @MatrixParam("cardNo") String c) {
    return "addcard with " + n + " " + c;
  }