如何在REST(Jersey)中创建用于包装JAX-RS请求的筛选器或处理程序? [英] How can i create Filter or Handler in REST(Jersey) for wrapping JAX-RS Requests?

查看:208
本文介绍了如何在REST(Jersey)中创建用于包装JAX-RS请求的筛选器或处理程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的jax-rs应用程序中有一些资源,我想在jax-rs请求进入javax.ws.rs.Path注释的资源之前对其进行验证.因此,如何为我的资源创建处理程序或过滤器.我已经搜索了很多站点.他们的建议是使用代理或servlet过滤器.不使用代理或Servlet过滤器,我可以创建处理程序/过滤器吗?

I have some resources in my jax-rs application i want to validate jax-rs request before it enters into the resource annotated by javax.ws.rs.Path. so, how can i create handler or filter for my resources .I have searched so many sites. their suggestions are use proxy or servlet filters . without using proxy or servlet filters can i create handler/ filter ?

就像在JAX-WS中一样,SOAPHandler可用于soap请求,以同样的方式,也有用于验证jax-rs请求的任何处理程序.

Just like in JAX-WS SOAPHandler is available for soap request ,in the same way is there any handlers for validating jax-rs request.

此处验证jax-rs请求意味着进行预检查,后检查和异常处理. (我正在使用球衣瓶)

Here Validating jax-rs request means pre-checking, post checking and Exception handling.. (I am using jersey jars)

推荐答案

您需要创建一个实现由Jersey提供的ContainerResponseFilter或ContainerRequestFilter的过滤器.然后在您的web.xml中按如下方式定义它:

You need to create a Filter that implements the ContainerResponseFilter or ContainerRequestFilter provided by Jersey. Then in your web.xml you define it like so:

<servlet>
    <servlet-name>MY API</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
        <param-value>com.example.filters.ReqFilter</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
        <param-value>com.example.filters.RespFilter</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>MY API</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

http://jersey.java.net /nonav/apidocs/1.6/jersey/com/sun/jersey/spi/container/ContainerRequestFilter.html

http://jersey.java.net /nonav/apidocs/1.6/jersey/com/sun/jersey/spi/container/ContainerResponseFilter.html

这篇关于如何在REST(Jersey)中创建用于包装JAX-RS请求的筛选器或处理程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆