Jersery——RESTful Web Services in Java,RESTful服务,Jersey+Spring实现REST服务调用

//jersery官方文档地址:https://jersey.java.net/documentation/latest/index.html
REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一。
REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集。RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务。通常,RESTful Web 服务应该定义以下方面:
Web 服务的基/根 URI,比如 http://host/<appcontext>/resources。
支持 MIME 类型的响应数据,包括 JSON/XML/ATOM 等等。
服务支持的操作集合(例如 POST、GET、PUT 或 DELETE)。

@Path:定义资源基 URI。由上下文根和主机名组成,资源标识符类似于 http://localhost:8080/Jersey/rest/hello。
@GET:这意味着以下方法可以响应 HTTP GET 方法。
@Produces:以纯文本方式定义响应内容 MIME 类型。
@Context: 使用该注释注入上下文对象,比如 Request、Response、 UriInfo、ServletContext 等。
在 web.xml 文件中定义 Jersey servlet 

jar包官方下载地址:https://maven.java.net/content/repositories/releases/com/sun/jersey/contribs/jersey-spring/

所需jar包;

 

java代码:

 

@Path("/test")
public class RoundrobinAction {

	 @POST
	 @Path("/example")
	 @Produces("application/json;charset=UTF-8")
	 @Consumes({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML,MediaType.TEXT_HTML})
	 public String Example(@Context HttpServletRequest request){
		 String ret="";
		 try {
			 ServletInputStream inputStream=request.getInputStream();
			 StringBuilder builder=new StringBuilder();
			 byte[] buff=new byte[1024];
			 int len=-1;
			 while((len = inputStream.read(buff))!= -1){
				 builder.append(new String(buff,0,len,"UTF-8"));
			 }
			 //参数json
			 String parameterStr = builder.toString();
			 //打印参数
			 System.out.println(parameterStr);
			 ret="通讯成功!";
		 } catch (IOException e) {
			 e.printStackTrace();
		 }
		 return ret;
	 }
}

 

 

 

web.xml配置:
<servlet>
	<servlet-name>restfulServlet_test</servlet-name>
		<servlet-class>
			com.sun.jersey.spi.spring.container.servlet.SpringServlet
		</servlet-class>
		<init-param>
			<param-name>
				com.sun.jersey.config.property.packages
			</param-name>
			<param-value>com.ckhb.Roundrobin</param-value>
		</init-param>
		<init-param>
			<param-name>
				com.sun.jersey.api.json.POJOMappingFeature
			</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>restfulServlet_test</servlet-name>
		<url-pattern>/jerseyExm/*</url-pattern>
	</servlet-mapping>


请求地址为:http://127.0.0.1:8080/项目名称/jerseyExm/test/example

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值