Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot/Spring MVC-如何转发来自另一个请求的响应_Spring_Spring Mvc_Spring Boot - Fatal编程技术网

Spring boot/Spring MVC-如何转发来自另一个请求的响应

Spring boot/Spring MVC-如何转发来自另一个请求的响应,spring,spring-mvc,spring-boot,Spring,Spring Mvc,Spring Boot,我需要一个rest端点,它的响应是HTML。但是我不想在我的项目中定义一个视图,而是希望转发来自rest端点内的另一个请求的HTML响应。 例如,我的rest端点向内部服务发出http请求,并返回从该服务返回的HTML?可能吗?有什么想法吗? 下面是一个代码示例 @RequestMapping("/test") public String testMe(Model model, @RequestParam("param1") String param1, @RequestParam("param

我需要一个rest端点,它的响应是HTML。但是我不想在我的项目中定义一个视图,而是希望转发来自rest端点内的另一个请求的HTML响应。 例如,我的rest端点向内部服务发出http请求,并返回从该服务返回的HTML?可能吗?有什么想法吗? 下面是一个代码示例

@RequestMapping("/test")
public String testMe(Model model, @RequestParam("param1") String param1, @RequestParam("param2") String param2)
{
    //Make a Http call to an internal service and return the response from that call
    return "<RESPONSE_FROM_THAT_CALL>";
}
@RequestMapping(“/test”)
公共字符串testMe(模型模型,@RequestParam(“param1”)字符串param1,@RequestParam(“param2”)字符串param2)
{
//对内部服务进行Http调用并返回该调用的响应
返回“”;
}

我想从内部服务返回HTML响应

您可以使用
RestTemplate
从其他服务获取结果,并将其作为
字符串返回:

@控制器
公共类MyController{
私有RestTemplate RestTemplate=新RestTemplate();
@应答器
@请求映射(“/test”)
公共字符串testMe(模型模型,@RequestParam(“param1”)字符串param1,@RequestParam(“param2”)字符串param2){
URI=UriComponentsBuilder.fromHttpUrl(“http://www.example.com");
.queryParam(“参数1”,参数1)
.queryParam(“参数2”,参数2)
.build()
.toUri());
返回restemplate.getForObject(uri,String.class);
}
}

<>如果你有更多的端点,你想代理另一个服务,你应该考虑使用ZUUL作为一个微代理。请参阅,例如,解释如何轻松创建这样的代理。

因此,您的问题是如何返回字符串?如果我返回字符串,spring会假定它是视图的名称,并会出错。我想返回HTML作为响应的一部分。HTML文档是字符串,不是吗?如果一个方法用
@ResponseBody
注释,那么Spring将返回字符串,而不是视图。