【问题标题】:JAX-RS in Glassfish path selection not workingGlassfish 路径选择中的 JAX-RS 不起作用
【发布时间】:2014-04-23 19:26:52
【问题描述】:

Glassfish 4,非常简单的应用。我正在使用 Kepler,使用 Glassfish 4 作为服务器创建了一个动态 Web 服务项目,允许 Eclipse 生成 web.xml 和 glassfish-web.xml。上下文名称是 /calls。

应用

package com.deltacontractservices.calls.service;

import java.util.HashSet;
import java.util.Set;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/rest/*")
public class CallsApplication extends Application
{
    @Override
    public Set<Class<?>> getClasses()
    {
        final Set<Class<?>> classes = new HashSet<Class<?>>();

        classes.add(Controller.class);

        return classes;
    }
}

资源

package com.deltacontractservices.calls.service;

import javax.enterprise.context.ApplicationScoped;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * This class implements a JAX-RS service controller for the Calls API
 */
@ApplicationScoped
@Path("/rest")
public class Controller
{

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String base()
    {
        return "Calls application default.";
    }

    @GET
    @Path("ping")
    @Produces(MediaType.TEXT_PLAIN)
    public String ping()
    {
        return "Calls application ping.";
    }
}

http://localhost:8080/calls/rest 产生“调用应用程序默认值”。很好。

http://localhost:8080/calls/rest/ 产生 404。

http://localhost:8080/calls/rest/ping 产生 404。

我一定遗漏了一些明显的东西。请帮忙...

【问题讨论】:

    标签: jax-rs glassfish-4


    【解决方案1】:

    嗯。我需要做一些类似 .../calls/rest/rest/ping 的事情。我在应用程序和资源中复制了“/rest”。将资源类更改为 @Path("") 可以正确响应 /calls/rest/ 和 /calls/rest/ping 但不是 /calls/rest(没有尾随 /)此外,更改应用程序 @ApplicationPath("/rest") 似乎没有任何影响。

    【讨论】:

      【解决方案2】:

      尝试将控制器类放在第一个@path 中,例如@Path"/"。我是这个工作人员的新手。 洗澡你可以试试!那么答案可能是这个类的第一个方法(在休息客户端类型.../调用/休息中)。如果您在 rest client ../calls/rest/ping 中键入 request ,则可以从控制器类中的第二种方法产生答案。巴斯我不确定!只尝试提供帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-02
        • 1970-01-01
        • 2011-06-14
        • 2015-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-03
        相关资源
        最近更新 更多