@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
@GetMapping("/getUserByName/{name}")
public User getUserByName(@PathVariable String name){
log.info("name={}",name);
return new User("王渝",22);
}
}
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserServiceFeign userServiceFeign;
@GetMapping("/name2/{name}")
public User getUserByName2(@PathVariable String name){
return userServiceFeign.getUserName(name);
}
}
3.4.Service接口(方法一 feign调用)
复制代码
//service-provide为服务提供方的名称
@FeignClient(value = "service-provider")
public interface UserServiceFeign {
// /user/getUserByName/{name} 为消息提供方的url
@GetMapping("/user/getUserByName/{name}")
User getUserName(@PathVariable(value = "name") String name);
}
3.5Service接口(方法二 RestTemplate)
复制代码
@Service
public class UserServiceImpl implements UserService {
@Autowired
private RestTemplate restTemplate;
@Override
public User getUserByName(String name) {
ResponseEntity<User> response = restTemplate.exchange("http://service-provider/user/getUserByName/" + name,
HttpMethod.GET,
null,
new ParameterizedTypeReference<User>() {
});
return response.getBody();
}
}