[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用
生活随笔
收集整理的這篇文章主要介紹了
[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在使用Ribbon調(diào)用廣告投放系統(tǒng)API之前,我們需要先創(chuàng)建2個VO對象,AdPlanVO,AdPlanGetRequestVO.
//數(shù)據(jù)請求對象 @Data @NoArgsConstructor @AllArgsConstructor public class AdPlanGetRequestVO {private Long userId;private List<Long> planIds; }----------------------------------//API請求響應(yīng)結(jié)果反序列化對象 @Data @AllArgsConstructor @NoArgsConstructor public class AdPlanVO {private Long planId;private Long userId;private String planName;private Integer planStatus;private Date startDate;private Date endDate;private Date createTime;private Date updateTime; }在AdSearchApplication啟動類中,添加RestTemplate客戶端。
public class AdSearchApplication {.../*** 注冊{@link RestTemplate}Bean* @return*/@Bean@LoadBalanced //讓RestTemplate在調(diào)用服務(wù)的時候,可以實(shí)現(xiàn)負(fù)載均衡RestTemplate restTemplate(){return new RestTemplate();} }創(chuàng)建一個controller,來測試調(diào)用廣告提供系統(tǒng)的API
/*** SearchController for search information controller** @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang | 若初</a>*/ @RestController @Slf4j @RequestMapping(path = "/search") public class SearchController {//注入RestTemplateprivate final RestTemplate restTemplate;@Autowiredpublic SearchController(RestTemplate restTemplate) {this.restTemplate = restTemplate;}@GetMapping(path = "/plan/get-ribbon")public CommonResponse<List<AdPlanVO>> getAdPlansUseRibbon(@RequestBody AdPlanGetRequestVO requestVO) {log.info("ad-search::getAdPlansUseRibbon -> {}", JSON.toJSONString(requestVO));return restTemplate.postForEntity("http://mscx-ad-sponsor/ad-sponsor/plan/get", requestVO, CommonResponse.class).getBody();}@GetMapping(path = "/user/get")public CommonResponse getUsers(@Param(value = "username") String username) {log.info("ad-search::getUsers -> {}", JSON.toJSONString(username));CommonResponse commonResponse = restTemplate.getForObject("http://mscx-ad-sponsor/ad-sponsor/user/get?username={username}", CommonResponse.class, username);return commonResponse;} }轉(zhuǎn)載于:https://www.cnblogs.com/zhangpan1244/p/11279177.html
總結(jié)
以上是生活随笔為你收集整理的[Spring cloud 一步步实现广告系统] 10. 使用Ribbon 实现微服务调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终极版Python学习教程:一篇文章讲清
- 下一篇: Codeforces 1198 119