我正在实施“验证”服务,在此我想验证以下HTTP请求属性:
一旦上述属性经过验证,我需要将相同的请求转发到具有完全相同的URL(包括根上下文和所有其他标头,查询参数和URL参数属性的URL)的下游服务。
我尝试使用Rest Controller来实现这一点:
@RequestMapping(value= "/**")
public String validate(
@RequestParam Map<String,String> requestParameters,
@RequestHeader HttpHeaders headers,
HttpServletRequest request) {
// validate headers
// validate body
// validate URL parameters
// validate query parameters
forwardRequest()
}
在实现forwardRequest时,我试图使用restTemplate并设置所有属性并进行exchange()调用。但是,我认为必须有一种更好的方式按原样转发请求,而无需使用RestTemplate手工处理请求。有什么建议吗?
我认为您缺少一个名为HandlerInterceptor
的概念。