jersey的测试

来源:互联网 发布:软件开发工具有哪些 编辑:程序博客网 时间:2024/06/01 16:52

jersey中常见的请求有GET,POST,PUT,DELETE请求,常见的请求一般是GET,POST.


GET请求的格式一般是:www.xxxx.com?name=aaa&age=111

POT请求格式一般是:www.xxxx.com 消息随着消息体的方式发送给服务端


项目路径:private String serverUri = "http://localhost:8080/restful";


GET请求测试:

get无参数情况:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Path("say")  
  2.     @GET  
  3.     @Produces(MediaType.TEXT_PLAIN)  
  4.     public String say() {  
  5.         System.out.println("hello world");  
  6.         return "hello world";     
  7.     }  

测试代码:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Test  
  2.     public void test() {  
  3.   
  4.         Client client = ClientBuilder.newClient();  
  5.         WebTarget target = client.target(serverUri + "/hello/say");  
  6.         Response response = target.request()  
  7.                                   .buildGet()  
  8.                                   .invoke();  
  9.         String readEntity = response.readEntity(String.class);  
  10.         System.out.println(readEntity);  
  11.         response.close();  
  12.           
  13.     }  


get有参数情况:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Test  
  2.     public void test() {  
  3.   
  4.         Client client = ClientBuilder.newClient();  
  5.         WebTarget target = client.target(serverUri + "/hello/say?name=xxx&age=11");  
  6.         Response response = target.request()  
  7.                                   .buildGet()  
  8.                                   .invoke();  
  9.         String readEntity = response.readEntity(String.class);  
  10.         System.out.println(readEntity);  
  11.         response.close();  
  12.           
  13.     }  

测试:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Test  
  2.     public void test() {  
  3.   
  4.         Client client = ClientBuilder.newClient();  
  5.         WebTarget target = client.target(serverUri + "/hello/say?name=xxx&age=11");  
  6.         Response response = target.request()  
  7.                                   .buildGet()  
  8.                                   .invoke();  
  9.         String readEntity = response.readEntity(String.class);  
  10.         System.out.println(readEntity);  
  11.         response.close();  
  12.           
  13.     }  




POST请求测试:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Path("acceptbean")  
  2.     @POST  
  3.     @Produces(MediaType.APPLICATION_JSON)  
  4.     public String acceptbean(String userBean) {  
  5.         return userBean;  
  6.     }  

测试:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. @Test  
  2.     public void postTest() {  
  3.   
  4.         Client client = ClientBuilder.newClient();  
  5.         WebTarget target = client.target(serverUri + "/hello/acceptbean");  
  6.           
  7.         UserBean userBean = new UserBean();  
  8.         userBean.setId(111);  
  9.         userBean.setUsername("aaaaa");  
  10.         Entity<UserBean> entity = Entity.entity(userBean, MediaType.APPLICATION_JSON);  
  11.         Response response = target.request()  
  12.                                   .buildPost(entity)  
  13.                                   .invoke();  
  14.           
  15.         UserBean readEntity = response.readEntity(UserBean.class);  
  16.         System.out.println(StringUtils.getToString(readEntity));  
  17.         response.close();  
  18.           
  19.     }  

说明response.readEntity这个方法:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. public abstract <T> T readEntity(Class<T> entityType);  

若返回的数据类型是String类型,则entityType值为String.class

若返回的数据类型是bean类型,则entityType值为Bean.class

0 0
原创粉丝点击