Jersey客户端代码
2015-07-10 09:59
204 查看
首先创建一个maven工程
在pom.xml中添加依赖Jar包:
实体类如下:
访问服务的代码如下:
在pom.xml中添加依赖Jar包:
<dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.19</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.19</version> </dependency>
实体类如下:
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /** * 场馆 * * @author 卢艳亮 * @version 2015年6月27日 下午3:22:10 */ @XmlRootElement @SuppressWarnings("serial") public class TVenueEntity implements java.io.Serializable { private long venueId; /** 场馆名称 */ private String venueName; /** 1代表主场馆 */ private int master; @XmlElement(name = "venueId") public long getVenueId() { return venueId; } public void setVenueId(long venueId) { this.venueId = venueId; } @XmlElement(name = "venueName") public String getVenueName() { return venueName; } public void setVenueName(String venueName) { this.venueName = venueName; } @XmlElement public int getMaster() { return master; } public void setMaster(int master) { this.master = master; } }
访问服务的代码如下:
import java.util.List; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.GenericType; import javax.ws.rs.core.Response; import com.wanhang.ydsj.venue.rest.entity.TPlaceEntity; import com.wanhang.ydsj.venue.rest.entity.TVenueEntity; public class App { public static String path = "http://localhost:8888/services/erp/"; public static void main(String[] args) { // getById(); findByVenue(); } /** * 测试返回一个实体对象 */ public static void getById() { Client client = ClientBuilder.newClient(); WebTarget target = client.target(path + "venue/1132.json"); Response response = target.request().get(); try { if (response.getStatus() != 200) { throw new RuntimeException("Failed with HTTP error code : " + response.getStatus()); } TVenueEntity venue = response.readEntity(TVenueEntity.class); System.out.println("The generated id is " + venue.getVenueName()); } finally { response.close(); client.close(); // 在真正开发中不要每次关闭client,比如HTTP长连接是由client持有的 } } /** * 测试返回一个实体对象列表 */ public static void findByVenue() { Client client = ClientBuilder.newClient(); WebTarget target = client.target(path + "venue_3/place.json"); Response response = target.request().get(); try { if (response.getStatus() != 200) { throw new RuntimeException("Failed with HTTP error code : " + response.getStatus()); } List<TPlaceEntity> venues = response.readEntity(new GenericType<List<TPlaceEntity>>(){}); System.out.println("The generated id is " + venues.size()); } finally { response.close(); client.close(); } } }
相关文章推荐
- leetcode 3sum c语言
- Java线程(一):线程安全与不安全
- PHP获取当前类名、函数名、方法名
- php中实现用数组妩媚地生成要执行的sql语句
- java
- Eclipse -- An API baseline has not been set for the current workspace
- Eclipse设置完整的Java代码提示
- C++ 引用
- C#实现根据银行卡卡号判断银行名
- Python Xpath与Regex的区别
- Python什么是二次开发的意义?python在.net项目采用
- “黑马程序员” JDK怎么安装与配置环境变量
- 浅谈C语言中的联合体
- 深入JVM剖析Java的线程堆栈
- c语言基本数据类型所占的位数
- c# 正则匹配程序
- Java Network Programming with Callback model
- jdk阅读xml文件
- java web 拦截器与过滤器区别
- 【Python】python环境的搭建之windows篇