最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud中的openFeign調(diào)用服務(wù)并傳參的過程

 更新時間:2023年11月20日 15:06:06   作者:天道酬勤_smile  
服務(wù)和服務(wù)之間通信,不僅僅是調(diào)用,往往在調(diào)用過程中還伴隨著參數(shù)傳遞,接下來重點來看看OpenFeign在調(diào)用服務(wù)時如何傳遞參數(shù),感興趣的朋友一起看看吧

一、說明

服務(wù)和服務(wù)之間通信,不僅僅是調(diào)用,往往在調(diào)用過程中還伴隨著參數(shù)傳遞,接下來重點來看看OpenFeign在調(diào)用服務(wù)時如何傳遞參數(shù)

二、GET方式調(diào)用服務(wù)傳遞參數(shù)

1.GET方式調(diào)用服務(wù)傳遞參數(shù)

在商品服務(wù)中加入需要傳遞參數(shù)的服務(wù)方法來進行測試
在用戶服務(wù)中進行調(diào)用商品服務(wù)中需要傳遞參數(shù)的服務(wù)方法進行測試

// 1.商品服務(wù)中添加如下方法
 @GetMapping("/product/findOne")
public Map<String,Object> findOne(String productId){
  log.info("商品服務(wù)查詢商品信息調(diào)用成功,當前服務(wù)端口:[{}]",port);
  log.info("當前接收商品信息的id:[{}]",productId);
  Map<String, Object> map = new HashMap<String,Object>();
  map.put("msg","商品服務(wù)查詢商品信息調(diào)用成功,當前服務(wù)端口: "+port);
  map.put("status",true);
  map.put("productId",productId);
  return map;
}
//2.用戶服務(wù)中在product客戶端中聲明方法
@FeignClient("PRODUCTS")
public interface ProductClient { 
	@GetMapping("/product/findOne")
 	String findOne(@RequestParam("productId") String productId);
}
//3.用戶服務(wù)中調(diào)用并傳遞參數(shù)
//注入客戶端對象
@Autowired
private ProductClient productClient;
@GetMapping("/user/findAllFeignClient")
public String findAllFeignClient(){
  log.info("通過使用OpenFeign組件調(diào)用商品服務(wù)...");
  String msg = productClient.findAll();
  return msg;
}

三、post方式調(diào)用服務(wù)傳遞參數(shù)

1.post方式調(diào)用服務(wù)傳遞參數(shù)

- 在商品服務(wù)中加入需要傳遞參數(shù)的服務(wù)方法來進行測試
- 在用戶服務(wù)中進行調(diào)用商品服務(wù)中需要傳遞參數(shù)的服務(wù)方法進行測試

//1.商品服務(wù)加入post方式請求并接受name
@PostMapping("/product/save")
public Map<String,Object> save(String name){
  log.info("商品服務(wù)保存商品調(diào)用成功,當前服務(wù)端口:[{}]",port);
  log.info("當前接收商品名稱:[{}]",name);
  Map<String, Object> map = new HashMap<String,Object>();
  map.put("msg","商品服務(wù)查詢商品信息調(diào)用成功,當前服務(wù)端口: "+port);
  map.put("status",true);
  map.put("name",name);
  return map;
}
//2.用戶服務(wù)中在product客戶端中聲明方法
//value屬性用來指定:調(diào)用服務(wù)名稱
@FeignClient("PRODUCTS")
public interface ProductClient {
    @PostMapping("/product/save")
    String save(@RequestParam("name") String name);
}
//3.用戶服務(wù)中調(diào)用并傳遞參數(shù)
@Autowired
private ProductClient productClient;
@GetMapping("/user/save")
public String save(String productName){
  log.info("接收到的商品信息名稱:[{}]",productName);
  String save = productClient.save(productName);
  log.info("調(diào)用成功返回結(jié)果: "+save);
  return save;
}

2.傳遞對象類型參數(shù)

- 商品服務(wù)定義對象
- 商品服務(wù)定義對象接收方法
- 用戶服務(wù)調(diào)用商品服務(wù)定義對象參數(shù)方法進行參數(shù)傳遞

//1.商品服務(wù)定義對象
@Data
public class Product {
    private Integer id;
    private String name;
    private Date bir;
}
//2.商品服務(wù)定義接收對象的方法
@PostMapping("/product/saveProduct")
public Map<String,Object> saveProduct(@RequestBody Product product){
  log.info("商品服務(wù)保存商品信息調(diào)用成功,當前服務(wù)端口:[{}]",port);
  log.info("當前接收商品名稱:[{}]",product);
  Map<String, Object> map = new HashMap<String,Object>();
  map.put("msg","商品服務(wù)查詢商品信息調(diào)用成功,當前服務(wù)端口: "+port);
  map.put("status",true);
  map.put("product",product);
  return map;
}
//3.將商品對象復(fù)制到用戶服務(wù)中
//4.用戶服務(wù)中在product客戶端中聲明方法
@FeignClient("PRODUCTS")
public interface ProductClient {
  @PostMapping("/product/saveProduct")
  String saveProduct(@RequestBody Product product);
}
// 4.在用戶服務(wù)中調(diào)用保存商品信息服務(wù)
//注入客戶端對象
@Autowired
private ProductClient productClient;
@GetMapping("/user/saveProduct")
public String saveProduct(Product product){
  log.info("接收到的商品信息:[{}]",product);
  String save = productClient.saveProduct(product);
  log.info("調(diào)用成功返回結(jié)果: "+save);
  return save;
}

到此這篇關(guān)于SpringCloud之openFeign調(diào)用服務(wù)并傳參的文章就介紹到這了,更多相關(guān)SpringCloud openFeign調(diào)用服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

宜丰县| 时尚| 栾城县| 绥江县| 双江| 闸北区| 长阳| 乌拉特前旗| 肇州县| 郁南县| 略阳县| 秦安县| 汉川市| 冀州市| 湾仔区| 米林县| 鲜城| 鄂托克前旗| 青浦区| 彩票| 柳河县| 霍山县| 和林格尔县| 呼和浩特市| 博兴县| 张家口市| 清涧县| 关岭| 大埔区| 新田县| 渝北区| 蚌埠市| 阿拉尔市| 禹州市| 石狮市| 滦平县| 信宜市| 潍坊市| 阿图什市| 长岭县| 安宁市|