gpt4 book ai didi

java - 带有嵌入式 Jetty 服务器的 REST 资源

转载 作者:行者123 更新时间:2023-11-30 03:47:17 25 4
gpt4 key购买 nike

我正在使用嵌入式 Jetty 服务器为 REST 服务创建 POC。

我想创建以下资源;

/foo/{id}
/foo/{id}/bar

我要求每个类调用不同的类,每个类都访问路径中的 id。

我有以下代码;

        Server server = new Server(7777);
ServletHandler handler = new ServletHandler();
server.setHandler(handler);

handler.addServletWithMapping(DefaultServlet.class, "/*");
handler.addServletWithMapping(Foo.class, "/foo/*");
handler.addServletWithMapping(Bar.class, "/foo/*/bar");

不幸的是,两个请求都会产生 Foo.class。

Jetty 允许我实现这个目标吗?我可以设置更智能的路径吗?

最佳答案

我相信这是不可能的。看起来 jetty 跟随Java Servlet Specification ,那么星号可以位于路径的开头或末尾。

以下是规范中的引用:

  • A string beginning with a ‘*.’ prefix is used as an extension mapping
  • A string beginning with a ‘/’ character and ending with a ‘/*’ suffix is used for path mapping.

请参阅“12.2 映射规范”了解更多详细信息。

因此,您应该在 Foo 类中分析 request.getPathInfo() 或使用一些可以为您完成此操作的框架,f.x。 Spring MVCJersey

关于java - 带有嵌入式 Jetty 服务器的 REST 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25338829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com