RestEasy框架的請求方式六大引數定義@FormParam @PathParam @QueryParam @HeaderParam @CookieParam @MatrixParam
阿新 • • 發佈:2018-11-09
@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;
}
@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;
}