2017-05-18 103 views
0

我有一個基於Java的服務器應用程序,使用maven進行依賴關係管理,並使用一個tomcat服務器來託管它。我有一堆物聯網設備一直髮送不同種類的有效載荷。請注意,有效載荷大小從1 MB到80 MB不等。所以,我想跟蹤每個設備的數據使用情況。檢查服務器的所有請求的有效負載

我可以編寫一個篩選器或攔截器來檢查所有API請求的有效負載,而不是寫入每個API的有效負載大小檢查嗎?另外,如果有效載荷高於80 MB,我想拒絕有效載荷。

請讓我知道如果有反正能做到這一點。

回答

0

您可以用過濾,像這樣的東西做到這一點:

public class PayLoadCheckFilter implements Filter { 

    @Override 
    public void init(FilterConfig filterConfig) throws ServletException { 

    } 

    @Override 
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { 
     if (request.getContentLength() > 80e+07) { 
      ((HttpServletResponse) response).setStatus(503); 
     } 
     else { 
      filterChain.doFilter(request, response); 
     } 
    } 

    @Override 
    public void destroy() { 

    } 

here以瞭解如何將過濾器添加到web.xml。

相關問題