我正在使用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]}
谢谢!