目录
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);}
}
启动服务并访问