Jersey客户端代码

来源:互联网 发布:什么美工刀片最锋利 编辑:程序博客网 时间:2024/05/29 14:00

首先创建一个maven工程

在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;}@XmlElementpublic 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();}}}



0 0
原创粉丝点击