【发布时间】:2019-12-10 16:01:23
【问题描述】:
我的目的是在 REST 方法中使用自定义注释,以某种所需的形式自动转换参数。比如:
Response get(@StringNormalizer(UPPERCASE) String myparam)
我知道有 HttpServletRequestWrapper 类可以用来拦截和修改输入 URI:
@WebFilter(urlPatterns="/*")
public class ApiOriginFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
HttpServletRequest wrappedRequest = new MyWrappedRequest(request);
chain.doFilter(wrappedRequest, response);
}
}
public class MyWrappedRequest extends HttpServletRequestWrapper
{
@Override
public String getQueryString() {
// return modified query
}
}
但是我不知道如何检索方法参数的注释(在上面的示例中,它是 StringNormalizer 类)。
有什么提示吗?
【问题讨论】:
-
您是要编写自己的注释处理器还是已经存在的东西?
-
其实我需要的是一个大写/小写的转换器字符串,它适用于查询参数,如果可能的话,也适用于路径参数
标签: java rest servlets java-ee-6 java-ee-8