openfeign参数传递
传递单个参数
服务提供方product-service
@requestmapping("/product") @restcontroller public class productcontroller { @autowired private 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 { @autowired private productapi productapi; @requestmapping("/o1") public string o1(integer id){ return productapi.p1(id); } }
启动服务并访问
传递多个参数
服务提供方product-service
@requestmapping("/product") @restcontroller public class productcontroller { @autowired private 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 { @autowired private productapi productapi; @requestmapping("/o2") public string o2(integer id, string name){ return productapi.p2(id,name); } }
启动服务并访问
传递对象
服务提供方product-service
@requestmapping("/product") @restcontroller public class productcontroller { @autowired private 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 { @autowired private 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 { @autowired private 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 { @autowired private productapi productapi; @requestmapping("/o4") public string o4(){ productinfo productinfo = new productinfo(); productinfo.setid(46); productinfo.setproductname("t恤46"); return productapi.p4(productinfo); } }
启动服务并访问
到此这篇关于spring cloud之远程调用openfeign参数传递的文章就介绍到这了,更多相关spring cloud openfeign参数传递内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论