当前位置:首页 > 开发 > 开源软件 > 正文

Jersey Restful学习

发表于: 2015-06-03   作者:dreamoftch   来源:转载   浏览次数:
摘要:   依赖的Maven Dependency:   <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId

 

依赖的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学习

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1、Jersey是什么 ? Jersey是Oracle公司推出的restful框架属于glassfish项目。可以集成至tomcat、je
本文演示环境为eclipse + Maven插件 + Jersey framework。本文只关注Jersey的使用,所以只使用类中
Spring 3 MVC本身就支持resutful web service, 同时实现Java Resutful Webservice的技术也很多,如Re
前几天一时兴起,看到一个基于RESTful web Service的很不错的框架 jersey .并且做了一个小小的案例.
基于jersey和Apache Tomcat构建Restful Web服务(一)   现如今,RESTful架构已然成为了最流行的
基于jersey和Apache Tomcat构建Restful Web服务(二)   上篇博客介绍了REST以及Jersey并使用其搭
jersey-rest-demo 增删改查 项目地址:https://github.com/CoderDream/jersey-rest-demo 源代码:ht
在Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用 RESTful Web 服务简介 REST 在 2000
同样是Maven构建的项目,不解释。 项目目录结构: pom.xml <project xmlns="http://maven.apache
0.前言 去年(2013年)2月第一次接触yeelink平台,当时该平台已经运行了一些时间也吸引了不少极客。
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号