REST resources with embedded Jetty server

Robbie Wareham

I am using an embedded Jetty server to create a POC for a REST service.

I want to create the following resources;

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

I require each to call different classes, each of which access the id within the path.

I have the following code;

        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");

Unfortunately, both requests result in Foo.class.

Does Jetty allow me to achieve this? Can I set a more intelligent path?

ponomandr

I believe it's not possible. It looks like jetty follows Java Servlet Specification, then the asterisk can be either at the beginning of the path or at the end.

Here is quotation from the spec:

  • 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.

See "12.2 Specification of Mappings" for more details.

So you should analyse request.getPathInfo() in your Foo class or use some framework that can do it for you, f.x. Spring MVC or Jersey

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Embedded Jetty and graceful shutdown

来自分类Dev

Jetty Embedded,泽西岛2,焊缝

来自分类Dev

响应标题太大-Jetty Embedded版本9

来自分类Dev

Jersey Jetty Embedded无法读取路径注释,错误404

来自分类Dev

Jetty Embedded:使用 CORS + 基本身份验证 (ConstraintSecurityHandler)

来自分类Dev

Jetty REST API动态调整QueuedThreadPool maxThreads

来自分类Dev

Jetty 9 Server没有start()方法

来自分类Dev

设置处理程序时 Jetty Server 阻塞

来自分类Dev

使用嵌入式Jetty测试Spring-Rest服务

来自分类Dev

嵌入式Jetty服务器的REST资源

来自分类Dev

以编程方式将Jersey REST服务附加到Jetty

来自分类Dev

以编程方式将Jersey REST服务附加到Jetty

来自分类Dev

使用嵌入式Jetty测试Spring-Rest服务

来自分类Dev

具有Maven的Embedded Jetty示例无法重新启动:地址已在使用中

来自分类Dev

要求过滤器在Embedded Jetty的Jersey 2中不起作用

来自分类Dev

Maven Jetty Embedded(Fat jar)-Jar中缺少src / main / webapp

来自分类Dev

在Jetty上运行的Wicket 7.3.0项目中找不到src / main / resources中的标记

来自分类Dev

org.eclipse.jetty.server.ssl.SslSelectChannelConnector 在新的 Eclipse Jetty Jars 中丢失

来自分类Dev

Does adding sleep() to a loop alleviate server resources?

来自分类Dev

Jetty Server始终使用处理程序返回404

来自分类Dev

java.lang.ClassNotFoundException:org.eclipse.jetty.Server

来自分类Dev

具有SQL Server 2017数据源的Jetty

来自分类Dev

9.x的Jetty-all-server在哪里?

来自分类Dev

java.lang.NoClassDefFoundError:org / eclipse / jetty / server / NetworkConnector

来自分类Dev

Spring Data Rest-在_embedded中包含嵌套资源

来自分类Dev

Resources$NotFoundException 使用 RetroFit 2 调用 Rest API 时

来自分类Dev

是否必须在HTTP Request Defaults中选中“ Retrieve All Embedded Resources”以进行性能测试?

来自分类Dev

什么是正确的URL,用于为嵌入式Jetty指定JAR“ resources / webapp”文件夹的ResourceBase?

来自分类Dev

当应用程序打包到jar中时,Jetty无法找到REST类

Related 相关文章

  1. 1

    Embedded Jetty and graceful shutdown

  2. 2

    Jetty Embedded,泽西岛2,焊缝

  3. 3

    响应标题太大-Jetty Embedded版本9

  4. 4

    Jersey Jetty Embedded无法读取路径注释,错误404

  5. 5

    Jetty Embedded:使用 CORS + 基本身份验证 (ConstraintSecurityHandler)

  6. 6

    Jetty REST API动态调整QueuedThreadPool maxThreads

  7. 7

    Jetty 9 Server没有start()方法

  8. 8

    设置处理程序时 Jetty Server 阻塞

  9. 9

    使用嵌入式Jetty测试Spring-Rest服务

  10. 10

    嵌入式Jetty服务器的REST资源

  11. 11

    以编程方式将Jersey REST服务附加到Jetty

  12. 12

    以编程方式将Jersey REST服务附加到Jetty

  13. 13

    使用嵌入式Jetty测试Spring-Rest服务

  14. 14

    具有Maven的Embedded Jetty示例无法重新启动:地址已在使用中

  15. 15

    要求过滤器在Embedded Jetty的Jersey 2中不起作用

  16. 16

    Maven Jetty Embedded(Fat jar)-Jar中缺少src / main / webapp

  17. 17

    在Jetty上运行的Wicket 7.3.0项目中找不到src / main / resources中的标记

  18. 18

    org.eclipse.jetty.server.ssl.SslSelectChannelConnector 在新的 Eclipse Jetty Jars 中丢失

  19. 19

    Does adding sleep() to a loop alleviate server resources?

  20. 20

    Jetty Server始终使用处理程序返回404

  21. 21

    java.lang.ClassNotFoundException:org.eclipse.jetty.Server

  22. 22

    具有SQL Server 2017数据源的Jetty

  23. 23

    9.x的Jetty-all-server在哪里?

  24. 24

    java.lang.NoClassDefFoundError:org / eclipse / jetty / server / NetworkConnector

  25. 25

    Spring Data Rest-在_embedded中包含嵌套资源

  26. 26

    Resources$NotFoundException 使用 RetroFit 2 调用 Rest API 时

  27. 27

    是否必须在HTTP Request Defaults中选中“ Retrieve All Embedded Resources”以进行性能测试?

  28. 28

    什么是正确的URL,用于为嵌入式Jetty指定JAR“ resources / webapp”文件夹的ResourceBase?

  29. 29

    当应用程序打包到jar中时,Jetty无法找到REST类

热门标签

归档