如何使用Jersey容器过滤器修改表单参数

时间:2012-09-06 02:07:35

标签: java jersey

我正在使用Jersey 1.5,并希望将较旧的API转换为较新的API。

我想使用容器过滤器来修改传入的请求。这要求我能够修改表单参数。到目前为止,我无法这样做。

我的过滤器:

public class Filter implements ContainerRequestFilter  {
    public ContainerRequest filter(ContainerRequest cr) {
       this.logger.debug(("media type: " + cr.getMediaType().toString()));
       this.logger.debug("before form params: " + cr.getFormParameters().toString());
       cr.getFormParameters().add("test", "test");
       this.logger.debug("after form params: " + cr.getFormParameters().toString());
       return cr;
    }
}

卷曲:

curl -d "hello=world" http://localhost:8080/api/test

输出:

22:05:38.250 [163501009@qtp-1025542363-0] DEBUG Filter - media type: application/x-www-form-urlencoded
22:05:38.250 [163501009@qtp-1025542363-0] DEBUG Filter - before form params: {hello=[world]}
22:05:38.250 [163501009@qtp-1025542363-0] DEBUG Filter - after form params: {hello=[world]}

谢谢!

0 个答案:

没有答案