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;
  }

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;
  }

猜你喜欢

转载自blog.csdn.net/private66/article/details/82259664