0
以下是我需要修復的篩選器代碼。過濾器後面的想法是,如果找到一些查詢字符串。處理它,不需要返回或處理鏈或類似的東西。然而,當沒有找到查詢字符串時,原始請求應該被服務,例如,獲取/放入/更新/刪除請求。使用Restlet進行篩選的正確方法
@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;
}
這裏的問題是,我不能完全確定返回何處停止,跳在此代碼CONTINUE才達到我需要什麼。
如何才能實現請求將正常進行,就像沒有基於上述if-else語句的過濾器一樣?繼續應該是if語句中的回報? – xybrek 2015-02-11 08:22:40
是的,我認爲是。 「continue」通知過濾器讓請求按正常方式處理。 – 2015-03-07 14:24:49
我還注意到,您可以通過調用request.getResourceRef()。getQuery()來訪問查詢,而不是查找HttpServletRequest。 – 2015-03-07 14:27:13