liferay项目Jersey生成rest接口方法

来源:互联网 发布:表达很牛的网络用语 编辑:程序博客网 时间:2024/05/17 07:21

参考推酷:webservice框架jersey简单总结,网址:http://www.tuicool.com/articles/67vyIbv

(1)首先新建leferay的插件工程,portlet

(2)之后在pom.xml中添加,maven依赖

<!--jersey -->

<dependency>

<groupId>org.glassfish.jersey.containers</groupId>

<artifactId>jersey-container-servlet-core</artifactId>

<version>2.13</version>

</dependency>

<!--JAXB API -->

<dependency>

<groupId>javax.xml.ws</groupId>

<artifactId>jaxws-api</artifactId>

<version>2.1</version>

</dependency>

<!-- Json支持 -->

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-core-asl</artifactId>

<version>1.9.12</version>

</dependency>

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>1.9.12</version>

</dependency>

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-jaxrs</artifactId>

<version>1.9.12</version>

</dependency>

(3)web.xml中添加配置jerseyServlet

<?xml version="1.0"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>JerseyServlet</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <!-- 配置自己的资源加载类去加载资源 -->
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>cn.cmri.api.ApplicationAPI</param-value>
        </init-param>
        <!-- 配置默认的资源包路径,使用默认的配置类去加载资源 -->
        <!-- <init-param> -->
        <!-- <param-name>jersey.config.server.provider.packages</param-name> -->
        <!-- <param-value>com.cisdi.jersey.api</param-value> -->
        <!-- </init-param> -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>JerseyServlet</servlet-name>
        <url-pattern>/api/*</url-pattern>
    </servlet-mapping>
</web-app>

其他java类:

一、ApplicationAPI.java

package cn.cmri.api;

import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.server.ResourceConfig;


public class ApplicationAPI extends ResourceConfig {

    public ApplicationAPI() {

        // 加载resources

        register(HelloResource.class);
        register(UserResource.class);
        // 注册数据转换器

        register(JacksonJsonProvider.class);

        // 注册日志

        register(LoggingFilter.class);

    }

}


二、HelloResource

package cn.cmri.api;

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

@Path("/hello")
public class HelloResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() {
        return "hello jersey!";
    }

}


测试:火狐插件 RESTClient中,选择GET,输入http://localhost:8080/resourceManagementRest-1/api/hello,即可看效果



重要:http://localhost:8080/resourceManagementRest-1/api/hello,这个resourceManagementRest-1,不是resourceManagementRest,以webapps下为准。


1 0
原创粉丝点击