簡體   English   中英

輕松攔截器

[英]RestEasy Interceptor

我想知道它是否像我目前嘗試的那樣困難。 我在RESTEasy應用程序中使用Some Interceptor來確保安全。 攔截器實現javax.ws.rs.container.ContainerRequestFilter

我使用這樣的代碼來訪問請求數據:

if (((PostMatchContainerRequestContext) requestContext).getHttpRequest().getHttpMethod().equals("GET")) {
   requestedId = Long.parseLong(requestContext.getUriInfo().getQueryParameters().get("id").get(0));
} else {
   postDataMap = getPostData(requestContext);
}

private LinkedHashMap getPostData(ContainerRequestContext requestContext) {
   Object obj = null;

    try {
       String result = IOUtils.toString(requestContext.getEntityStream());
       ObjectMapper mapper = new ObjectMapper();
       obj = mapper.readValue(result, Object.class);
       System.out.println(obj);
     } catch (IOException e) {
        e.printStackTrace();
     }
   return (LinkedHashMap) obj;
}

但是以這種方式訪問​​請求數據似乎很荒謬。 現在,我想訪問DELETE-Request數據,但是找不到任何解決方案。 有什么合適的方法可以實現我目前的工作?

通過攔截,您的意思是在數據進入其余層之前對其進行檢查? 我通過實現Filter接口( https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Filter.html )實現了這一目標。

希望能幫助到你。 Br,杜珊

您可以在標頭中設置安全信息,獲取如下值:

String logintoken = crc.getHeaderString("token");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM