java - Jersey 路径分辨率

标签 java web-services jakarta-ee jersey

这是我的 Jersey 服务,我使用 url 访问该服务

http://host:port/contextroot/welcome/data

当我将 Jersey servlet 映射到/welcome/* 时 - 我收到 404 错误。但是当我在 web.xml 中说/* 时,我的请求就顺利完成了。我不希望我的网络应用程序中的所有请求都通过 Jersey 。如何将路径限制为仅使用/welcome 进行请求?

@Path("/welcome")
public class WelcomeRestJson {

    @POST
    @Path("/data")
    @Produces("text/plain")
    @Consumes("application/json")

    public String processPostData(MyObject myObject) {
        System.out.println("Inside processPostData");
        return "success";
    }

}

最佳答案

将 servlet 映射到/welcome/* 时,只需将根资源 (WelcomeRestJson) 的路径模板从 @Path("/welcome") 更改为 @Path("/") - 这样就可以得到相同的 URL (http://host:port/contextroot/welcome/data)将像以前一样工作。

关于java - Jersey 路径分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238895/

相关文章:

java - 使 Thymeleaf 为 :field consume Lombok-generated boolean getter

java - 使用 AspectJ 配置 SpringSource 工具套件

c# - Web 服务中的数组 - 对象引用未设置为对象的实例

c# - WCF 客户端使用 JAVA Web 服务——我应该使用 WCF 还是只创建自定义解析器/消息工厂?

3 层应用程序的 Java 和 J2EE 代码示例

java - 如何在(非 Android)Java 应用程序中检索 Firebase 数据?

java - 如何使用空的soapAction定义调用Web服务?

javascript - 单击按钮时滚动到对话框内的组件

java - 将远程 EJB 接口(interface)注入(inject)外部模块

java - Android Asynctask 和 runOnUiThread