`
dreamoftch
  • 浏览: 487539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Jersey Restful学习

阅读更多

 

依赖的Maven Dependency:

 

    <dependency>
      <groupId>org.glassfish.jersey.containers</groupId>
      <artifactId>jersey-container-servlet-core</artifactId>
      <version>${jersey-version}</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.jersey.media</groupId>
      <artifactId>jersey-media-json-jackson</artifactId>
      <version>${jersey-version}</version>
    </dependency>
    <dependency>
      <groupId>javax.xml</groupId>
      <artifactId>jaxb-api</artifactId>
      <version>${jaxb-version}</version>
      <scope>provided</scope>
    </dependency>

 

 

对应的version:

 

  <properties>
    <jersey-version>2.17</jersey-version>
    <jaxb-version>2.1</jaxb-version>
  </properties>

 

 顺便加上tomcat的plugin:

 

      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <!-- http port -->
          <port>8080</port>
          <!-- application path always starts with / -->
          <path>/</path>
        </configuration>
      </plugin>

 

web.xml加上Jersey的servlet:(jersey.config.server.provider.packages指定提供restful的类所在的包名列表)

 

  <servlet>
    <servlet-name>jersey-helloworld-serlvet</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.tch.test</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>jersey-helloworld-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>

 

测试类:

 

package com.tch.test.restful;

import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.tch.test.restful.bean.Address;
import com.tch.test.restful.bean.Contact;

@Path("/contacts")
public class ContactsResource {

    @GET
	@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
	public List<Contact> getContacts() {
		List<Contact> contacts = new ArrayList<Contact>();
		Contact contact = new Contact();
		contact.setId("1");
		contact.setName("dreamoftch");
		Address address = new Address();
		address.setHome("Shanghai");
		List<Address> addresses = new ArrayList<Address>();
		addresses.add(address);
		contact.setAddresses(addresses);
		contacts.add(contact);
		return contacts;
	}

}

 

用到的Bean:

 

package com.tch.test.restful.bean;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Contact {
    private String id;
    private String name;
    private List<Address> addresses;
    
    public Contact() {}
    
    public Contact(String id, String name, List<Address> addresses) {
        this.id = id;
        this.name = name;
        this.addresses = addresses;
    }

    @XmlElement(name="address")
    public List<Address> getAddresses() {
        return addresses;
    }

    public void setAddresses(List<Address> addresses) {
        this.addresses = addresses;
    }

    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;
    }
    
}

 

 

package com.tch.test.restful.bean;

public class Address {

    private String home;

    public String getHome() {
        return home;
    }

    public void setHome(String home) {
        this.home = home;
    }
    
}

 

代码就这些,然后运行 mvn tomcat7:run启动web项目。

 

浏览器直接输入地址:http://localhost:8080/rest/contacts测试Get的方法,返回xml格式的结果。

 

使用curl 命令:curl -H "Accept: application/json" http://localhost:8080/rest/contacts 测试Get的方法,返回json格式的结果。

 

Finish...

 

 

 

 

 

 

分享到:
评论

相关推荐

    Jersey RESTful WebService框架学习(一)

    NULL 博文链接:https://1197581932.iteye.com/blog/2400218

    Jersey RestFul

    Jersey 增删改查 用于学习入库的好材料

    Jersey RESTful WebService框架学习(八)maven搭建

    NULL 博文链接:https://1197581932.iteye.com/blog/2400927

    Restful示例

    Restful Jersey实现 java 参考学习页面 http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

    jersey-学习-和hello-world

    jersey是一种 restful框架,使用它为我们提供接口。有三块重要的东西,jersey-server,jersey-core, 集成(与spring等等)。

    java+restful+Jersey+webservice 远程调用

    java项目REST方式使用Jersey技术实现webservice远程调用,内附使用说明文档和Jersey包,方便学习和查阅,最重要的是我的资源优势就是物美价廉哟~~

    五六本关于restful开发的电子书

    做开发restful ws的项目,学习资料少,很多东西不明白,一路走来很感慨,现在小有收获,希望有同样任务的人能够从中受益。资源中包含了五六本关于restful开发的电子书。

    jersey 开发所需jar

    jersey作为Oracle公司推出的restful框架,值得我们认真去学习。该圈子致力于jersey技术的传播与交流,为广大jersey爱好者提供一个交流的圈子。

    java8stream源码-Restful-API:学习restfulwebServices

    学习restful web Services jersey-quickstart-webapp vscode安装插件 Maven for Java和Tomcat for Java 执行mvn clean package将项目打包后,在 target 目录中会生成 .war 文件 (base) hzz@hzz:~/Desktop/github/...

    Jersey-2.x-User-Guide:Jersey 2.x User Guide《Jersey 2.x 用户指南》 ,中文翻译

    最近在做Java RESTful 相关的项目,借此机会学习了一把Jersey,发现网上中文的资料比较少,而且Jersey的更新比较快,很多博文都老了。之前写过几个关于Jersey的demo,也可以作为参考。近期也在做 REST 方面的总结,...

    jersey-archive-1.14.zip

    jersey作为Oracle公司推出的restful框架,值得我们认真去学习。

    基于Jersey+Sprin 一个在线考试系统的后端模块.zip

    基于Jersey+Spring实现的的restful服务,主要包括用户管理、在线考试,自动批卷、成绩管理、错题管理、留言板、试卷管理、题库管理、试题科目维护等功能。 毕业设计是高等教育阶段学生在完成学业前所进行的一项重要...

    资深PHP、Java开发工程师

    2.熟悉RESTful-jersey框架。 3.熟悉Spring/SpringMVC/MyBatis等主流开发框架。 4.熟悉MySql/Oracle/DB2等主流数据库中的一种。 5.熟悉Tomcat/Jboss/Weblogic/Websphere等应用服务器中的一种。 6.熟悉面向对象的设计...

    JAVA.WEB服务.构建与运行

     · 学习如何交付基于Java的RESTful Web服务和消耗商业RESTful服务  · 了解对基于SOAP和基于REST的Web服务的安全要求  · 学习如何在各种环境下部署JAX-WS服务  不管是学生还是有经验的程序员,当你需要立即...

    spring学习入门工程(可执行)

    spring工程入门的工程,囊括了ioc、aop、jdbc、restful等所有的内容

    bsdata:BattleScribe数据文件托管平台

    它由一个Angular(JavaScript)前端和一个RESTful(Jersey / JAX-RS)后端组成。 本指南是从运行Windows的Netbeans IDE用户的角度编写的,但是您可以使用任何支持Maven的IDE或工具集。 假定您具有在Windows上进行...

Global site tag (gtag.js) - Google Analytics