如何规范泽西2中的URI?

时间:2014-05-12 03:37:59

标签: jersey-2.0

Jersey {2}等同于FEATURE_NORMALIZE_URI

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:看起来泽西2不具备相同的功能,但实现起来非常简单:

/**
 * Normalizes incoming URIs.
 * <p>
 * @author Gili Tzabari
 */
@PreMatching
public class NormalizeUriFilter implements ContainerRequestFilter
{
    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException
    {
        URI requestUri = requestContext.getUriInfo().getRequestUri();
        URI normalized = requestUri.normalize();
        if (!requestUri.equals(normalized))
            requestContext.setRequestUri(normalized);
    }
}

不要忘记register()中的Application过滤器。