我正在使用RESTEasy3.0.7 PreRequestFilter来保护我的REST API。在这里,我试图获得在screenInvoker中提供的屏幕短片中提到的完整路径。没有直接的方法来获得这个值..我尝试过使用getProperty,但它也没有用。
@Provider
public class PreRequestFilter implements javax.ws.rs.container.ContainerRequestFilter
{
@Override
public void filter(ContainerRequestContext requestContext) throws IOException
{
ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker) requestContext.getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
Method method = methodInvoker.getMethod();
我只需要methodInvoker - >方法 - >全路径值..任何人都可以在这方面提供帮助,如果没有直接可用的方法,怎么能得到这个值..
答案 0 :(得分:2)
可以轻松获取所请求的路径:
String path = requestContext.getUriInfo().getPath();
但我不知道获取没有替换路径参数的URI模板的标准方法。 ResourceMethodInvoker
仅展示java.lang.reflect.Method
的{{1}},但不会展示您需要访问的org.jboss.resteasy.spi.metadata.ResourceMethod
本身。
你可以按照反射获得模板:
org.jboss.resteasy.spi.metadata.ResourceMethod