Spring 如何从另一个Rest控制器调用Rest控制器
我正在学习使用Angular和Spring引导实现应用程序。我们的应用程序在前端使用Angular,在后端使用Spring Boot Rest服务。我正在寻找一种方法,根据Rest服务1中的Id(调用RestController1)提取一些数据,并从Rest服务1中调用Rest服务2,以获取从RestController1提取的数据的相应数据。如何从RestController1调用RestController2并获取数据。我们正在使用hibernate。请告诉我是否有任何spring参考文档可以阅读和理解实现。非常感谢您的帮助Spring 如何从另一个Rest控制器调用Rest控制器,spring,Spring,我正在学习使用Angular和Spring引导实现应用程序。我们的应用程序在前端使用Angular,在后端使用Spring Boot Rest服务。我正在寻找一种方法,根据Rest服务1中的Id(调用RestController1)提取一些数据,并从Rest服务1中调用Rest服务2,以获取从RestController1提取的数据的相应数据。如何从RestController1调用RestController2并获取数据。我们正在使用hibernate。请告诉我是否有任何spring参考文档可
谢谢有很多方法可以做到这一点。其中之一是使用spring中的RestTemplate:
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);
System.out.println(result);
}
请参阅。从另一个控制器调用一个控制器听起来是个坏主意,原因有两个:
- 您真的不希望http请求—所有序列化、DNS调用、http请求调用、反序列化—所有这些都会以某种方式影响性能,如果您可以避免使用它,请不要使用它:)
- 即使性能影响不会困扰您(因为它无关紧要),也不要忘记网络是不可靠的
- 如果要从
调用的RestController1
应该只能由应用程序访问,则应该为其提供安全性,而这可能是多余的RestController2
即使您仍然想调用另一个控制器,只考虑调用它的方法(没有任何HTTP请求),因为它只是一个普通类的方法。
<代码> RestMase是感谢您快速回复的方式。我将了解更多关于RestTemplate的信息,看看这是否解决了我的问题谢谢您的快速回复。我会看看RestTemplate是否能帮我解决这个问题