在部署时找不到Jersey REST服务

时间:2014-08-14 20:05:23

标签: java rest tomcat jersey

我有一个托管网页,网络套接字的网页应用,我正在尝试添加REST服务。它在Tomcat 8上运行,我使用Jersey 2.11进行REST。我正在使用ApplicationPath并扩展Application来注册我的服务,并在调试器中暂停,告诉我正在调用getClasses并且我的处理程序已返回。

但是对于我的生活,我无法找出处理程序的URL。我尝试的一切都返回404,除了我的静态页面,以及websocket处理程序。

这是我的Application

@ApplicationPath("rest")
public class RestApp extends Application {
    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> s = new HashSet<>();
        s.add(Test.class);
        return s;
    }
}

这是我的测试REST处理程序:

@Path("test")
public class Test {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String testMethod(){
        return "test";
    }
}

http://localhost:8080/webapp将返回我的index.html。但我找不到上面的testMethod的URL。 http://localhost:8080/webapp/rest/test/testMethod返回404错误。我尝试过省略URL部分的变体,但没有成功。我理解的URL映射是:http://localhost:8080/<appname>/<ApplicationPath>/<Path>/<method>

映射是否不正确,或者我在这里遗漏了什么?

0 个答案:

没有答案