有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在到达控制器之前和离开控制器之后解密/加密有效负载

我的应用程序收到一个加密的负载,我必须解密对象的每个值。之后,我必须用相同的格式加密有效负载并发送响应

我需要的是一种方法,在有效负载到达控制器解密并截获加密数据的响应之前截获有效负载

我正在尝试使用javax的过滤器。但我不知道如何获取主体,更改其值并将其设置回原位

我已经尝试了一个拦截器,但是我在更改请求主体时遇到了同样的问题


@Component
@Order(1)
public class CryptoFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {

        // code to decrypt request body goes here
        filterChain.doFilter(request, response);
        // code to encrypt response body goes here
    }
}

请求主体如下所示:

{
    "key1": "098f6bcd4621d373cade4e832627b4f6",
    "key2": "098f6bcd4621d373cade4e832627b4f6",
    "key3": {
        "key4": "098f6bcd4621d373cade4e832627b4f6"
    }
}

过滤器之后,我需要控制器上的这个:

{
    "key1": "decrypted",
    "key2": "decrypted",
    "key3": {
        "key4": "decrypted"
    }
}

共 (1) 个答案