使用Spring Boot转发HTTP请求

问题描述 投票:0回答:1

我正在实施“验证”服务,在此我想验证以下HTTP请求属性:

  • 请求标题
  • 请求正文
  • 查询参数
  • URL参数

一旦上述属性经过验证,我需要将相同的请求转发到具有完全相同的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手工处理请求。有什么建议吗?

spring-boot interceptor
1个回答
1
投票

我认为您缺少一个名为HandlerInterceptor的概念。

© www.soinside.com 2019 - 2024. All rights reserved.