@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;
}
2.@PathParam
@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;
}