欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Spring Cloud之远程调用OpenFeign参数传递

Spring Cloud之远程调用OpenFeign参数传递

2025/3/12 11:24:50 来源:https://blog.csdn.net/wmh_1234567/article/details/142370287  浏览:    关键词:Spring Cloud之远程调用OpenFeign参数传递

目录

OpenFeign参数传递

传递单个参数

传递多个参数

传递对象

传递JSON


OpenFeign参数传递

传递单个参数

服务提供方product-service

@RequestMapping("/product")
@RestController
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p1")public String p1(Integer id){return "product-service 接收到参数, id:"+id;}
}

Feign客户端

@FeignClient(value = "product-service",path = "/product")
public interface ProductApi {@RequestMapping("/p1")String p1(@RequestParam("id") Integer id);
}

远程调用方order-service

@RequestMapping("/feign")
@RestController
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o1")public String o1(Integer id){return productApi.p1(id);}
}

 启动服务并访问

传递多个参数

服务提供方product-service

@RequestMapping("/product")
@RestController
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p2")public String p2(Integer id, String name){return "product-service 接收到参数, id:"+id+",name:"+name;}
}

Feign客户端

@FeignClient(value = "product-service",path = "/product")
public interface ProductApi {@RequestMapping("/p2")String p2(@RequestParam("id") Integer id, @RequestParam("name") String name);
}

远程调用方order-service

@RequestMapping("/feign")
@RestController
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o2")public String o2(Integer id, String name){return productApi.p2(id,name);}
}

启动服务并访问

传递对象

服务提供方product-service

@RequestMapping("/product")
@RestController
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p3")public String p3(ProductInfo productInfo){return "product-service 接收到参数: productInfo"+productInfo.toString();}
}

Feign客户端

@FeignClient(value = "product-service",path = "/product")
public interface ProductApi {@RequestMapping("/p3")String p3(@SpringQueryMap ProductInfo productInfo);
}

远程调用方order-service

@RequestMapping("/feign")
@RestController
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o3")public String o3(){ProductInfo productInfo = new ProductInfo();productInfo.setId(45);productInfo.setProductName("T恤");return productApi.p3(productInfo);}
}

启动服务并访问

传递JSON

服务提供方product-service

@RequestMapping("/product")
@RestController
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p4")public String p4(@RequestBody ProductInfo productInfo){return "product-service 接收到参数: productInfo"+productInfo.toString();}
}

Feign客户端

@FeignClient(value = "product-service",path = "/product")
public interface ProductApi {@RequestMapping("/p4")String p4(@RequestBody ProductInfo productInfo);
}

远程调用方order-service

@RequestMapping("/feign")
@RestController
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o4")public String o4(){ProductInfo productInfo = new ProductInfo();productInfo.setId(46);productInfo.setProductName("T恤46");return productApi.p4(productInfo);}
}

启动服务并访问

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词