SpringCloud远程调用的方式

服务提供者:

服务名:userService

暴露的controller方法:

@RestController
public class UserController {

    @Autowired
    UserService userService;

    @RequestMapping("/getUser/{id}")
    public Map<String, Object> getUser(@PathVariable(value = "id") Integer id){
        return userService.getUser(id);
    }
}
View Code

一、使用RestTemplate

@RestController
@RequestMapping("/consumer")
public class ConsumerController {

    @Autowired
    private RestTemplate restTemplate;

    /**
     * 调用 user微服务
     */
    @GetMapping("getUser")
    public String getUser(Integer id) {
        //userService为服务提供者的应用名
        String url = String.format("http://%s/getUser/" + id, "userService"); 
        return restTemplate.getForObject(url, String.class);
    }
}

二、使用Feign

原文地址:https://www.cnblogs.com/myitnews/p/12732640.html