gpt4 book ai didi

java - 具有多个帖子资源的 ReSTLet 服务

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

我有一个 ReSTLet 应用程序,除此之外,我还有两个后期服务,除了端点尾部之外,还有其他更 slim 的服务。

示例

POST /example.com/api/myservice.json and POST /example.com/api/myservice2.json

我已将这两个资源的业务写入单独的文件中。现在我怀疑是否可以将这两个资源的业务写入同一个文件中。提前致谢

最佳答案

您需要遵循 ReSTLet 组织应用程序的方式。我的意思是资源附加在一条或多条路径上。在资源中,您可以定义服务请求的方法,总结如下:

  • 附加到路径的资源
    • 方法GET(例如)
    • 方法POST(例如)

如果您对两条路径的处理完全相同,则可以为这两条路径附加相同的资源类。类似这样的事情:

Router router = new Router(getContext());
router.attach("/api/myservice", MyServerResource.class);
router.attach("/api/myservice2", MyServerResource.class);

您可以注意到,扩展可以通过ReSTLet的隧道服务进行管理。请参阅应用程序内的 getTunnelService().setExtensionsTunnel(true)

已编辑

相反,如果您想将一些处理收集到单个实体中,有两种选择:

  • 使用 ReSTLet 服务器资源,您就做不到。唯一可能的事情是定义一个包含所有处理的类,并从不同的服务器资源引用/使用它。
  • 您可以考虑使用ReSTLet的JAX-RS支持。这允许在同一类中定义多个 REST 端点,如下所述。此链接可以为您提供更多详细信息:http://restlet.com/technical-resources/restlet-framework/guide/2.2/extensions/jaxrs .

    public class MyResource {
    @POST
    @Path("/api/myservice")
    public SomeObject1 handleRequest1() {
    (...)
    }

    @POST
    @Path("/api/myservice2")
    public SomeObject2 handleRequest2() {
    (...)
    }
    }

希望对你有帮助蒂埃里

关于java - 具有多个帖子资源的 ReSTLet 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079311/

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