Jax-rs API url映射

时间:2014-04-24 19:49:00

标签: java jax-rs

我似乎无法连接,我不知道这里有什么问题。我正在调试,我得到的只是404.我的班级ApiServer在这个目录A.B.C.api.users

<servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>
        org.glassfish.jersey.servlet.ServletContainer
    </servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>A.B.C.api</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/users/*</url-pattern>
</servlet-mapping>

.........

@Path("/test")
    public class ApiServer {

        @GET
        @Path("/")
        public Response putContainer() {


            System.out.println("Hellooo");

..........

curl -v 192.168.92.128:8080/users/

...

Apr 25, 2014 10:26:19 AM org.glassfish.jersey.server.ApplicationHandler initialize
INFO: Initiating Jersey application, version Jersey: 2.7 2014-03-12 18:11:31...

此后没有任何内容,是否意味着它没有初始化完整?我怎样才能调试Jax-rs?

2 个答案:

答案 0 :(得分:2)

您的方法似乎没有@Produces注释

@Produces(MediaType.APPLICATION_JSON)

如果没有@Produces,返回的默认mimetype是“text / html”

答案 1 :(得分:1)

如果要在Glassfish上部署WAR(或EAR),则URL将在REST路径之前包含Web应用程序上下文...如果您的WAR名为myapp.war,则URL可能是:

http://somehost:8080/myapp/users/