-
Jersey与Spring整合依赖的jar
<dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey.version}</version> <exclusions> <!-- 移除jersey自己的spring库 --> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency>
-
web.xml配置
<servlet> <servlet-name>jersey-serlvet</servlet-name> <servlet-class> org.glassfish.jersey.servlet.ServletContainer </servlet-class> <!-- 配置自己的资源加载类去加载资源,在类中设置 --> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.sj.webservice.RestServiceApplication</param-value> </init-param> <!-- 配置默认的资源包路径,使用默认的配置类去加载资源,包下面所有的类将查找服务 --> <!-- <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.sj.webservice.service</param-value> </init-param> --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-serlvet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
上面有两种加载资源的方式,一种是使用自己的资源加载器去加载资源,需要给出自己资源加载器的位置。另一种是使用默认的资源加载器加载,需要给出资源所在的package。个人偏好第一种,写一个自己的资源加载器去加载想要加载的资源,这样感觉可控性强一点,自己写的时候也可以指定包路径。 -
RestServiceApplication代码
package com.sj.webservice; import org.glassfish.jersey.server.ResourceConfig; import com.sj.webservice.service.TestRestService; public class RestServiceApplication extends ResourceConfig{ public RestServiceApplication() { // 加载resources单个服务 register(TestRestService.class); //packages("cn.com.vs.service");//服务类所在的包路径(以包的方式) // 注册数据转换器 //register(JacksonJsonProvider.class); // 注册日志 //register(LoggingFilter.class); } }
-
测试类代码
package com.sj.webservice.service; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import com.sj.webservice.service.modal.Test; @Component @Scope("prototype") @Path(value = "/processes") @Produces(MediaType.APPLICATION_JSON) public class TestRestService { @GET @Path("/create") public Test createProcess() { Test t= new Test(); t.setName("哈哈哈"); return t; } }
- 输入路径测试 http://127.0.0.1:8080/xxx/services/processes/create
-
webservice和jersey的关系
jersey1.X的版本是sun公司提供的独立的jar包,在2.X版本中,已经将jersey放在glassfish下。同时Java也支持jersey的webservice,支持webservice的注解的包都在javax.ws.rs.*包中。 -
jersey常用注解解释:
Annotation 作用 说明 @GET 查询请求 相当于数据库的查询数据操作 @POST 插入请求 相当于数据库的插入数据操作 @PUT 更新请求 相当于数据库的更新数据操作 @DELETE 删除请求 相当于数据的删除数据操作 @Path uri路径 定义资源的访问路径,client通过这个路径访问资源。比如:@Path("user") @Produces 指定返回MIME格式 资源按照那种数据格式返回,可取的值有:MediaType.APPLICATION_XXX。比如:@Produces(MediaType.APPLICATION_XML) @Consumes 接受指定的MIME格式 只有符合这个参数设置的请求再能访问到这个资源。比如@Consumes("application/x-www-form-urlencoded") @PathParam uri路径参数 写在方法的参数中,获得请求路径参数。比如:@PathParam("username") String userName @QueryParam uri路径请求参数 写在方法的参数中,获得请求路径附带的参数。比如:@QueryParam("desc") String desc @DefaultValue 设置@QueryParam参数的默认值 如果@QueryParam没有接收到值,就使用默认值。比如:@DefaultValue("description") @QueryParam("desc") String desc @FormParam form传递的参数 接受form传递过来的参数。比如:@FormParam("name") String userName @BeanParam 通过Bena的形式传递参数 接受client传递的bean类型的参数,同时这个bean可以在属性上配置@FormParam用以解决client的属性名称和bean的属性名称不一致的问题。比如:@BeanParam User user @Context 获得一些系统环境信息 通过@Context可以获得以下信息:UriInfo、ServletConfig、ServletContext、HttpServletRequest、HttpServletResponse和HttpHeaders等 @XmlRootElement 将bean转换为xml 如果要讲bean以xml或json的格式返回,必须要这个注解。比如: @XmlRootElement
public class User{...}
@XmlElements @XmlElement
- 浏览: 55868 次
相关推荐
jersey RESTful service 源代码 jersey RESTful service 源代码
maven +Jersey Restful实现源码
jersey构建简单的Restful服务!
jersey restful webservice最新版资源共享,欢迎下载!
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。
Jersey is the open source (under dual CDDL+GPL license), production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. But, it is also more than the Reference ...
1、采用jersey restful spring mybatis alibaba.druid连接池 json 技术搭建的一套rpc通信架构; 2、支持 mysql 、oracle 数据库
NULL 博文链接:https://liangyingying1117.iteye.com/blog/2061846
Eclipse+JDK17+Tomcat10搭建Jersey RESTful的全部依赖!
RESTful最佳实践之基于 jersey 的增删改查
NULL 博文链接:https://1197581932.iteye.com/blog/2400218
这是一个restful风格的webservice框架,使用官方的jersey 整合mybatis和spring,需要用tomcat8才能运行,
基于jersey的restful请求的demo代码,可执行
+restful学习教程
本项目是基于Django框架开发的RESTful学习项目设计源码,主要使用HTML、CSS、JavaScript和Python进行开发。项目共包含917个文件,其中HTML页面文件314个,CSS样式文件253个,PNG图片文件179个,JavaScript源代码文件...
Restful Jersey webservice:包括Jersey实现的Restful webservice工程,这是一个比较实用的实例项目,在Tomcat中能实际正常运行起来。
毕业设计,计划一共三部分,一部分用jersey RESTFul提供数据,采用Spring Boot框架,页面采用VUE开发,前台用户界面用mintUI框架,后台管理系统使用elementUI框架。.zip
Jersey 增删改查 用于学习入库的好材料
NULL 博文链接:https://smartzxy.iteye.com/blog/592843
NULL 博文链接:https://1197581932.iteye.com/blog/2400927