gpt4 book ai didi

reSTLet - 需要在 ReSTLet 组件中放置过滤器的示例

转载 作者:行者123 更新时间:2023-12-05 00:31:32 31 4
gpt4 key购买 nike

我有一个 ReSTLet (v2.1.1) 组件,它使用 ServerResource 来处理 HTTP GET 请求。

我想将过滤器和/或路由器放入组件中,以便它们可以在请求到达 ServerResource 之前进行一些处理。

我一直在 Internet 上搜索这样做的示例,并阅读了“ReSTLet in Action”一书。我发现了一些有趣的事情:

有很多关于如何在组件中设置 ServerResource 的示例。

有很多关于如何创建和设置过滤器和路由器的示例。

不幸的是,尽我所能,通过本书和互联网搜索,我找不到同时使用两者的例子!

根据网上的书和教程,我们应该可以创建一个组件,在组件中设置一个ServerResource,并使用过滤器对去往ServerResource的请求进行预处理。任何地方的文档似乎都没有准确地告诉我们如何做到这一点。

我是否误读了所有内容?真的没有办法在带有 ServerResources 的组件中放置过滤器或路由器吗?或者我是否在某处错过了一些提供如何执行此操作的真实示例的文档?

有人可以提供一个简单的例子或提供一个链接到这样做的例子吗?

谢谢...

最佳答案

您需要将过滤器附加到路由器,然后使用方法 setNext(Class<? extends ServerResource> targetClass) 将 ServerResource 附加到过滤器。 :

Filter myFilter = new MyFilter(getContext());
myFilter.setNext(MyServerResource.class);
router.attach("/test", myFilter);

现在您可以使用过滤器的 beforeHandle(Request request, Response response) 进行预处理方法。如果您返回 CONTINUE在此方法中,过滤器会将请求传递给 ServerResource。

关于reSTLet - 需要在 ReSTLet 组件中放置过滤器的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524239/

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