java jersey使用总结_jersey使用指南

本文介绍了如何使用Java轻量级框架Jersey构建RESTful Web服务。通过在pom.xml中引入相关依赖,我们可以创建一个全局配置类并注册必要的组件。示例展示了GET和POST请求的实现,以及@PathParam、@QueryParam和@FormParam等参数注解的使用。此外,还涵盖了JSON支持和文件上传下载的功能,包括@Consumes和@Produces注解的使用。
摘要由CSDN通过智能技术生成

jersey 是基于Java的一个轻量级RESTful风格的Web Services框架。

引入

使用maven,在pom.xml中加入:

org.glassfish.jersey.core

jersey-client

${jersey.version}

org.glassfish.jersey.containers

jersey-container-servlet

${jersey.version}

org.glassfish.jersey.media

jersey-media-moxy

${jersey.version}

org.glassfish.jersey.media

jersey-media-multipart

${jersey.version}

当然必不可少的,也需要使用Java EE的支持:

javax

javaee-api

7.0

provided

Jar包详解:

jersey-client 是jersey提供的客户端包,封装了一些客户端操作的类

jersey-container-servlet 是jersey的核心,服务端必备包

jersey-media-moxy 是定义了jersry支持的常用的数据格式,json,xml都包括其中

jersey-media-multipart 是jersey的上传文件的支持

配置

jersey 的使用,必须要有一个全局的配置类,这个类需满足以下条件:

@ApplicationPath 注解该类,并且在参数中指定相对路径

继承 org.glassfish.jersey.server.ResourceConfig 类

该类构造方法中设置jersey的配置,比如指定接口的包路径

如下:

@ApplicationPath("/")

public class RESTServiceConfig extends ResourceConfig {

public RESTServiceConfig() {

packages("web.rest");

register(MultiPartFeature.class);

}

}

GET

GET例子:

@GET

@Path("/thing")

public String get() {

return "thing";

}

POST

POST例子:

@POST

@Path("/add")

public Boolean add(@FormParam("name") String name) {

// TODO save

return true;

}

Param

jersey中有几种常用的接收参数的注解:

@PathParam 接收链接中参数,如"/xxx/{name}/",@PathParm("name")

@QueryParam 接收链接中的普通参数,如"/xxx?name=ttt",@QueryParam("name")

@FormParm 接收post提交中的表单参数

@FormDataParm 上传文件接收文件参数

json

开发中,json已经常用到无处不在了,jersey对json的支持很好。接收json,需要使用@Consumes,注解指定解压方式:

@Consumes(MediaType.APPLICATION_JSON)

返回json需要使用@Produces注解,指定压缩方式:

@Produces(MediaType.APPLICATION_JSON)

文件上传

示例:

@POST

@Path("import-excel")

@Consumes(MediaType.MULTIPART_FORM_DATA)

@Produces(MediaType.APPLICATION_JSON)

public ImportResultBean importForExcel(@FormDataParam("file") String fileString,

@FormDataParam("file") InputStream fis,

@FormDataParam("file") FormDataContentDisposition fileDisposition) {

// TODO

return ;

}

文件下载

文件下载需要将Response对象的压缩方式,指定为:

@Produces(MediaType.APPLICATION_OCTET_STREAM)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值