大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关Restful服务如何利用Jersey来实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
公司主营业务:网站建设、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出肥城免费做网站回馈大家。
1.创建maven-web工程,后面就是正常的maven工程创建流程。
2.添加Jersey框架的maven文件。
4.0.0 com.restful jerseyDemo war 1.0-SNAPSHOT jerseyDemo Maven Webapp http://maven.apache.org junit junit 3.8.1 test org.glassfish.jersey.containers jersey-container-servlet 2.9 org.glassfish.jersey.core jersey-client 2.9 org.glassfish.jersey.media jersey-media-json-jackson 2.9 com.sun.jersey jersey-client 1.19.3 jerseyDemo
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 Mapmap = new HashMap (); @GET @Path("/getAllResource") @Produces(MediaType.APPLICATION_JSON) public String getAllResource() throws JsonProcessingException { List list = new ArrayList (); 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配置。
Archetype Created Web Application Jersey RESTful Application org.glassfish.jersey.servlet.ServletContainer jersey.config.server.provider.packages com.restful Jersey RESTful Application /rest/*
5.搭建本地tomcat
6.运行结果、http://localhost:8080/jerseyDemo/rest/application.wadl是所有对外接口的调用方法。使用postman来看看这个接口是怎么调用的吧。
POST请求
GET请求
关于Restful服务如何利用Jersey来实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。