jersey 是基于Java的一个轻量级RESTful风格的Web Services框架。以下我基于IDEA实现Restful完整Demo。

1.创建maven-web工程,后面就是正常的maven工程创建流程。
2.添加Jersey框架的maven文件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.restful</groupId> <artifactId>jerseyDemo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>jerseyDemo Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.9</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.19.3</version> </dependency> </dependencies> <build> <finalName>jerseyDemo</finalName> </build> </project>
3.Restful接口定义。
package com.restful.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.restful.entity.PersonEntity;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by XuHui on 2017/8/2.
*/
@Path("/JerseyService")
public class JerseyService {
private static Map<String, PersonEntity> map = new HashMap<String, PersonEntity>();
@GET
@Path("/getAllResource")
@Produces(MediaType.APPLICATION_JSON)
public String getAllResource() throws JsonProcessingException {
List<PersonEntity> list = new ArrayList<PersonEntity>();
for (PersonEntity entity : map.values()) {
list.add(entity);
}
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(list);
}
@GET
@Path("/getResourceById/{id}")
@Produces(MediaType.APPLICATION_JSON)
public String getResource(@PathParam("id") String id) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(map.get(id));
}
@POST
@Path("/addResource/{person}")
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces(MediaType.APPLICATION_JSON)
public String addResource(String person) throws IOException {
ObjectMapper mapper = new ObjectMapper();
PersonEntity entity = mapper.readValue(person, PersonEntity.class);
map.put(entity.getId(), entity);
return mapper.writeValueAsString(entity);
}
@GET
@Path("/getRandomResource")
@Produces(MediaType.APPLICATION_JSON)
public String getRandomResource() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
PersonEntity entity = new PersonEntity("NO1", "Joker", "http:///");
return mapper.writeValueAsString(entity);
}
}
PersonEntity实体类实现。
package com.restful.entity;
/**
* Created by XuHui on 2017/8/2.
*/
public class PersonEntity {
private String id;
private String name;
private String addr;
public PersonEntity() {
}
public PersonEntity(String id, String name, String addr) {
this.id = id;
this.name = name;
this.addr = addr;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "PersonEntity{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", addr='" + addr + '\'' +
'}';
}
}
4.web.xml配置。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>Jersey RESTful Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.restful</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey RESTful Application</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>
5.搭建本地tomcat
6.运行结果、http://localhost:8080/jerseyDemo/rest/application.wadl是所有对外接口的调用方法。使用postman来看看这个接口是怎么调用的吧。
POST请求
GET请求
以上这篇Jersey实现Restful服务(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# Jersey实现Restful服务
# 基于Restful接口调用方法总结(超详细)
# Spring Boot构建优雅的RESTful接口过程详解
# Java 调用Restful API接口的几种方式(HTTPS)
# 极简的Resty服务端和客户端RESTful框架
# 给大家
# 是怎么
# 希望能
# 来看看
# 这篇
# 小编
# 大家多多
# 是基于
# 实体类
# dependency
# junit
# dependencies
# Webapp
# url
# glassfish
# containers
# test
# scope
# Maven
# artifactId
相关文章:
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何在Windows 2008云服务器安全搭建网站?
建站主机是什么?如何选择适合的建站主机?
如何用免费手机建站系统零基础打造专业网站?
C++如何使用std::optional?(处理可选值)
如何选择高性价比服务器搭建个人网站?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
简历在线制作网站免费版,如何创建个人简历?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
公司网站的制作公司,企业网站制作基本流程有哪些?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
如何在云主机上快速搭建多站点网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
孙琪峥织梦建站教程如何优化数据库安全?
如何通过商城自助建站源码实现零基础高效建站?
如何通过PHP快速构建高效问答网站功能?
寿县云建站:智能SEO优化与多行业模板快速上线指南
动图在线制作网站有哪些,滑动动图图集怎么做?
三星网站视频制作教程下载,三星w23网页如何全屏?
建站之星2.7模板快速切换与批量管理功能操作指南
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何通过智能用户系统一键生成高效建站方案?
seo网站制作优化,网站SEO优化步骤有哪些?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何用花生壳三步快速搭建专属网站?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
公司门户网站制作流程,华为官网怎么做?
制作网站怎么制作,*游戏网站怎么搭建?
如何在阿里云购买域名并搭建网站?
如何挑选最适合建站的高性能VPS主机?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何在Windows虚拟主机上快速搭建网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
,购物网站怎么盈利呢?
如何自定义建站之星网站的导航菜单样式?
如何快速查询网站的真实建站时间?
家庭服务器如何搭建个人网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何在万网自助建站平台快速创建网站?
建站VPS配置与SEO优化指南:关键词排名提升策略
中山网站推广排名,中山信息港登录入口?
微课制作网站有哪些,微课网怎么进?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
存储型VPS适合搭建中小型网站吗?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何快速搭建高效服务器建站系统?
建站主机选择指南:服务器配置与SEO优化实战技巧
*请认真填写需求信息,我们会在24小时内与您取得联系。