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回答
-
feign底层用的就是Http, 所以必须对应Controller
032018-09-18
SpringCloud Finchley(M2+RELEASE+SR2)微服务实战
SpringCloud组件实现微服务,【已升级Finchley.Release】
5668 学习 · 2489 问题
相似问题