我有3台服务器,serverA,serverB,serverC,现在在serverC中,来自serverB的一些请求是经过处理的,然后,我不知道结果是什么(响应),如果是结果A,我想要给结果A作为请求发送给serverA,否则发给serverB。
所以我可以在serverC的控制器中做些什么,或者设计中有什么问题。
请告诉我应该怎么做,谢谢。
这是我的代码。
serverA的
@RestController
public class ControllerA {
@RequestMapping(value = "/methodA", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<String> methodA(@RequestBody String something) {
// some process
return null;
}
serverB上
@RestController
public class ControllerB {
@RequestMapping(value = "/methodB", consumes =MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> methodB(@RequestBody String something) {
// some process
return null;
}
服务器C
@RestController
public class ControllerC {
public ResponseEntity<String> methodC(@RequestBody String someReq) {
if (checkPam(someReq)) {
**// I want to call the ControllerA in serverA.**
}else {
**// I want to call the ControllerB in serverB.**
}
return null;
}
答案 0 :(得分:0)
您可以简单地使用RestTemplate:
for root, dirs, files in os.walk(rootPath):
for filename in fnmatch.filter(files, pattern):
matches.append(os.path.join(root, filename)
print(str(os.path.join(root, filename)))
如您所见,我通过new运算符实例化RestTemplate对象,您也可以在上下文中声明RestTemplate bean,然后在控制器类中自动装配它。