resteasy几种传值方式

1.@pathparam

  1.     //删除商品  
  2.     @GET  
  3.     @Path("delProByPNumber/{param}")  
  4.     @Produces("application/json; charset=utf-8")  
  5.     public Response delPro(@PathParam("param") String  pNumber){  
  6.         session.delete("production.delete", pNumber);  
  7.         session.commit();  
  8.         List list=queryAllPro();  
  9.         return Response.status(201).entity(list).build();  
  10.     }  
  11. 访问路径:http://localhost:8888/Invoice/optPro/delProByPNumber/7  
  12. 其中7为传入参数  
	//删除商品
	@GET
	@Path("delProByPNumber/{param}")
	@Produces("application/json; charset=utf-8")
	public Response delPro(@PathParam("param") String  pNumber){
		session.delete("production.delete", pNumber);
		session.commit();
		List list=queryAllPro();
		return Response.status(201).entity(list).build();
	}
访问路径:http://localhost:8888/Invoice/optPro/delProByPNumber/7
其中7为传入参数


2.@queryParam

  1. //添加账户  
  2. @GET  
  3.     @Path("addAcc/parameters")  
  4.     @Produces("application/json; charset=utf-8")  
  5.     public Response addCus(  
  6.             @QueryParam("accname") String accname,  
  7.             @QueryParam("balance") long balance,  
  8.             @QueryParam("department") String   department,  
  9.             @QueryParam("bankname") String bankname,  
  10.             @QueryParam("accnumber") long accnumber,  
  11.             @QueryParam("username") String username  
  12.             ) {  
  13.         Account account=new Account();  
  14.         account.setAccname(accname);  
  15.         account.setBalance(balance);  
  16.         account.setDepartment(department);  
  17.         account.setBankname(bankname);  
  18.         account.setAccnumber(accnumber);  
  19.         account.setUsername(username);  
  20.         session.insert("account.addAcc",account);  
  21.         session.commit();  
  22.   
  23.         return Response.status(201).entity(queryOne(accname)).build();  
  24.     }  
  25. 访问路径:http://localhost:8888/Invoice/optAcc/addAcc/parameters?accname=rr&balance=99999&department=heda&bankname=邮政&accnumber=6666&username=yu  
  26. parameters后面为传入参数  
//添加账户
@GET
	@Path("addAcc/parameters")
	@Produces("application/json; charset=utf-8")
	public Response addCus(
			@QueryParam("accname") String accname,
			@QueryParam("balance") long balance,
			@QueryParam("department") String   department,
			@QueryParam("bankname") String bankname,
			@QueryParam("accnumber") long accnumber,
			@QueryParam("username") String username
			) {
		Account account=new Account();
		account.setAccname(accname);
		account.setBalance(balance);
		account.setDepartment(department);
		account.setBankname(bankname);
		account.setAccnumber(accnumber);
		account.setUsername(username);
		session.insert("account.addAcc",account);
		session.commit();

		return Response.status(201).entity(queryOne(accname)).build();
	}
访问路径:http://localhost:8888/Invoice/optAcc/addAcc/parameters?accname=rr&balance=99999&department=heda&bankname=邮政&accnumber=6666&username=yu
parameters后面为传入参数


3.@FormParam

  1. //form表单提交方式  
  2. @Path("/services/hello")  
  3. public class HelloWorldRestService {  
  4.     @POST  
  5.     @Path("getName")  
  6.     public String  getName(@FormParam("fname") String fname,@FormParam("lname") String lname) {  
  7.         String result = "RESTEasy Hello World : " + fname+lname;  
  8.         System.out.println("fname"+fname);  
  9.         return result;  
  10.     }  
  11. }  
  12. 前台form表单提交  
  13. <html>  
  14. <head>  
  15. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  16. <title>Insert title here</title>  
  17. </head>  
  18. <body>  
  19.     <form action="http://localhost:8888/Invoice/services/hello/getName" method="POST">  
  20.         First name: <input type="text" name="fname" />  
  21.         Last name: <input type="text" name="lname" />  
  22.         <input type="submit" value="Submit" />  
  23.     </form>  
  24. </body>  
  25. </html>  
//form表单提交方式
@Path("/services/hello")
public class HelloWorldRestService {
	@POST
	@Path("getName")
	public String  getName(@FormParam("fname") String fname,@FormParam("lname") String lname) {
		String result = "RESTEasy Hello World : " + fname+lname;
		System.out.println("fname"+fname);
		return result;
	}
}
前台form表单提交
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="http://localhost:8888/Invoice/services/hello/getName" method="POST">
		First name: <input type="text" name="fname" />
		Last name: <input type="text" name="lname" />
		<input type="submit" value="Submit" />
	</form>
</body>
</html>


访问路径:
http://localhost:8888/Invoice/services/hello/getName

4.接收json参数,不需要标注

  1.     @POST  
  2.     @Path("test")  
  3.     @Produces("application/json; charset=utf-8")  
  4.     public Map<String, Object> getName(String data)  
  5.             throws JsonGenerationException, JsonMappingException, IOException {  
  6.         String name = null;  
  7.         String password = null;</span>  
  8.         //解析传入json数据  
  9.         ObjectMapper objectMapper = new ObjectMapper();  
  10.         Map<String, Object> maps;  
  11.         try {  
  12.             maps = objectMapper.readValue(data, Map.class);  
  13.             name = (String) maps.get("name");  
  14.             password = (String) maps.get("password");  
  15.         } catch (JsonParseException e) {  
  16.             // TODO Auto-generated catch block  
  17.             e.printStackTrace();  
  18.         } catch (JsonMappingException e) {  
  19.             // TODO Auto-generated catch block  
  20.             e.printStackTrace();  
  21.         } catch (IOException e) {  
  22.             // TODO Auto-generated catch block  
  23.             e.printStackTrace();  
  24.         }</span>  
  25.         //输出map  
  26.         Map<String, Object> map = new HashMap<String, Object>();  
  27.         map.put("name", name);  
  28.         map.put("password", password);  
  29.         return map;  
  30.     }  
  31. }  
	@POST
	@Path("test")
	@Produces("application/json; charset=utf-8")
	public Map<String, Object> getName(String data)
			throws JsonGenerationException, JsonMappingException, IOException {
		String name = null;
		String password = null;</span>
		//解析传入json数据
		ObjectMapper objectMapper = new ObjectMapper();
		Map<String, Object> maps;
		try {
			maps = objectMapper.readValue(data, Map.class);
			name = (String) maps.get("name");
			password = (String) maps.get("password");
		} catch (JsonParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (JsonMappingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}</span>
		//输出map
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name", name);
		map.put("password", password);
		return map;
	}
}


前台页面:
  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  4. <script type="text/javascript" src="js/jquery-2.0.0.js"></script>  
  5. <script type="text/javascript" src="js/jquery-2.0.0.min.js"></script>  
  6. <script type="text/javascript">  
  7. function showInfo() {  
  8.     var name = encodeURI($('#name').val(),"UTF-8");  
  9.     var password = encodeURI($('#password').val(),"UTF-8");  
  10.   
  11.     $.ajax({  
  12.                 type : 'post',  
  13.                 url : 'http://localhost:8888/Invoice/services/getPost/test',  
  14.                 data: JSON.stringify({ "name": name, "password": password  }),  
  15.                 dataType: "json",  
  16.                 contentType: "application/json; charset=UTF-8",  
  17.                 success : function(result) {  
  18.                     var name2=result.name;  
  19.                     var password2=result.password;  
  20.                     alert("name2:"+name2+"======password2:"+password2);  
  21.                 },  
  22.                 error : function erryFunction() {  
  23.                     alert("error");  
  24.                 }  
  25.             });  
  26. }  
  27. </script>  
  28.   
  29. <title>postDate</title>  
  30. </head>  
  31. <body>  
  32.     <h2>post_data测试</h2>  
  33.     name:<input type="text" id="name" /><br>  
  34.     password:<input type="text" id="password" /><br>  
  35. <button type="submit" onclick="showInfo()">提交</button>  
  36.   
  37. </body>  
  38.   
  39. </html>  
posted @ 2018-04-11 18:02  军999  阅读(511)  评论(0)    收藏  举报