gpt4 book ai didi

java - 使用 ReSTLet 进行过滤的正确方法

转载 作者:行者123 更新时间:2023-12-01 11:55:57 26 4
gpt4 key购买 nike

这是我需要修复的过滤器代码。过滤器背后的想法是,如果找到某个查询字符串。处理它,不需要返回或处理链或类似的东西。但是,当找不到查询字符串时,应为原始请求提供服务,例如获取/放置/更新/删除请求。

    @Override
protected int doHandle(Request request, Response response) {
HttpServletRequest servletRequest = ServletUtils.getRequest(request);
HttpServletResponse servletResponse = ServletUtils.getResponse(response);
String query = servletRequest.getQueryString();
LOG.info("Query=" + query);
if(query != null && query.contains(ESCAPED_FRAGMENT_FORMAT1)){
// TODO: return a HTML String, no need to go down the chain.
return STOP;
} else {
// TODO: need to execute the original request
return SKIP;
}
return CONTINUE;
}

这里的问题是我不完全确定在这段代码中应该在哪里返回 STOP、SKIP 和 CONTINUE 来实现我所需要的。

最佳答案

  • CONTINUE:表示请求处理应正常继续。
  • STOP:表示请求处理应停止并返回过滤器的当前响应。
  • SKIP:表示在 beforeHandle(Request, Response) 方法之后,请求处理应跳过 doHandle(Request, Response) 方法,继续执行 afterHandle(Request, Response) 方法。 doHandle 方法通过将调用分配给下一个 ReSTLet 来处理调用。

您可以在 javadoc 中找到所需的解释: http://restlet.com/technical-resources/restlet-framework/javadocs/2.3/jse/api/org/restlet/routing/Filter.html

希望这对您有帮助。

关于java - 使用 ReSTLet 进行过滤的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442872/

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