FeignClient 暴露出现的方法,只能是Controller的方法吗

来源:12-4 构建eureka高可用服务

慕前端2067603

2018-09-15

师兄,请教个问题:

@FeignClient(name = "product", fallback = ProductClient.ProductClientFallback.class)
public interface ProductClient {
    @PostMapping("/product/listForOrder")
    List<ProductInfoOutput> listForOrder(@RequestBody List<String> productIdList);
    @PostMapping("/product/decreaseStock")
    void decreaseStock(@RequestBody List<DecreaseStockInput> decreaseStockInputList);
}

FeignClient 这里对应的方法,只能是Controller的方法吗。

@RestController
@RequestMapping("/product")
public class ProductController {
    @Autowired
    private ProductService productService;
    @Autowired
    private CategoryService categoryService
    @PostMapping("/listForOrder")
    public List<ProductInfoOutput> listForOrder(@RequestBody List<String> productIdList) {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return productService.findList(productIdList);
    }
}

能不能直接调用service.impl下面的方法。
比如说,在clent中直接暴露
ProductService productService 类中的方法。

dubbo是可以SERVICE之间互相调用。不用通过Controller.

写回答

1回答

廖师兄

2018-09-16

feign底层用的就是Http, 所以必须对应Controller

0
3
廖师兄
回复
慕前端2067603
第一次看到这个项目...你可以自己去集成哦
2018-09-18
共3条回复

SpringCloud Finchley(M2+RELEASE+SR2)微服务实战

SpringCloud组件实现微服务,【已升级Finchley.Release】

5668 学习 · 2489 问题

查看课程