我的服务:是否有可能从RestEASY MessageBodyReaderInterceptor中的MessageBodyReaderContext获取@PathParam或@QueryParam?
@POST
public String setData(@QueryParam("id") Long is, MyObject payload) {
...
}
or
@POST
public String setData(@PathParam("id") Long is, MyObject payload) {
...
}
我在服务器上拦截:
Object read(MessageBodyReaderContext context) throws IOException, WebApplicationException {
Class mypayloadtype = context.getType;
InputStream mypayloadinpustream = context.getInputStream();
Long myidparam = ???????? // how to get the query or path param here?
}
编辑:是有点更具体:
我希望做的是抢XML并根据参数将其存储在单独的审计系统中。也许PreProcessInterceptor/PostProcessInterceptor是更好的选择?
当xml仍然可用于预处理时,获取参数的任何提示或替代方法?
米格尔
我并没有觉得你应该使用拦截器来进行身体反序列化;我认为这是通过JAX-RS“MessageBodyReader”子类完成的,并且不应该知道_other_参数。这就是主要的服务方法应该知道处理的内容。 – 2013-02-15 20:47:24
我编辑了这个问题,以明确为什么我想使用拦截器。 – 2013-02-20 08:17:23