Jersey客户端代码

原创 2015年07月10日 09:59:13

首先创建一个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;
	}

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



版权声明:本文为博主原创文章,未经博主允许不得转载。

Jersey客户端

Jersey 很适合编写函数式风格的客户端,本篇博客是在上一篇博客的基础上来实现Jersey客户端。即需要上篇博客中cxf-rs-spring提供为客户端Web服务。 本篇博客实现了GET、PUT以...
  • erwinwfeqwdsa
  • erwinwfeqwdsa
  • 2016年10月05日 21:37
  • 530

简单客户端程序--jersey_client

前言由于本次实验只需要完成客户端的编程。于是我没有继续写什么服务器的代码。直接使用了Apache CXF的jax_rs_basic那个样例项目来改造。基本首先,在该项目的demo.client包下面创...
  • hongchh
  • hongchh
  • 2016年10月09日 10:54
  • 1586

使用jersey客户端访问rest接口

public static void main(String[] args) { // TODO Auto-generated method stub Client c = Client...
  • z69183787
  • z69183787
  • 2013年06月27日 16:27
  • 3262

用Jersey客户端调用

前些日子看了些openstack方面的API文档,心想着命令行调API太麻烦,能不能用编程的方式来试下,当然这些日子也一直在学python+django,感觉这个语言是非常强大,但局限于接触时间不是很...
  • anhuidelinger
  • anhuidelinger
  • 2013年08月08日 20:33
  • 1465

jersey实现web service接口+客户端调用

jersey实现web service接口+客户端调用 jersey百度百科:          Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,...
  • cb2474600377
  • cb2474600377
  • 2015年03月13日 13:42
  • 4076

通过Jersey客户端API调用RestFul风格的Web服务

Jersey 客户端 API 基础1.要开始使用 Jersey 客户端 API,你首先需要创建一个 com.sun.jersey .api.client.Client 类的实例 代码: import...
  • qq_31382921
  • qq_31382921
  • 2016年09月01日 10:25
  • 1024

使用Jersey客户端请求Spring Boot(RESTFul)服务

Jersey客户端获取Client对象实例封装: @Service("jerseyPoolingClient") public class JerseyPoolingClientFactoryBean...
  • liuchuanhong1
  • liuchuanhong1
  • 2016年12月09日 14:16
  • 3160

JERSEY学习遇到的问题

今天在项目开发用到jersey的时候,当在客户端调用client.register(MultiPartFeature.class)代码的时候一直报下面的错误: Exception in thread ...
  • zhengdesheng19930211
  • zhengdesheng19930211
  • 2017年03月21日 16:19
  • 304

用Jersey构建RESTful服务4--通过jersey-client客户端调用Jersey的Web服务模拟CURD

一、总体说明 通过jersey-client接口,创建客户端程序,来调用Jersey实现的RESTful服务,实现增、删、改、查等操作。 服务端主要是通过内存的方式,来模拟用户的增加、删除、修改、查询...
  • kkkloveyou
  • kkkloveyou
  • 2014年03月19日 10:43
  • 33935

jersey实现rest实例之二

之前有写过jersey1.18实现rest方式,这里介绍jersey2.x实现rest获取text,xml,json格式数据 测试项目开发部署环境 开发工具:eclipse-jee-juno-SR...
  • check_null
  • check_null
  • 2014年01月11日 03:58
  • 11546
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jersey客户端代码
举报原因:
原因补充:

(最多只允许输入30个字)