
在写上架功能的时候出现了feign发送请求404的错误,很明显,就是接口写错了,
feign的调用分三部分:
- 创建服务提供者
- 创建feign接口
- 创建服务消费者
虽然消费者在调用feign接口时,一定可以被调用,但是服务提供者提供的接口和feign接口没有必然的联系,如果没有完全对应上也不会出错,在写feign接口时一定要仔细检查
比如下面服务方法名多写一个 i 字符,虽然并不会报错,但是feign接口就找不到对应的提供者了,就会出现上面404的报错
服务提供者:
@ApiOperation(value = "根据分类id获取分类信息")
@GetMapping("inner/getCategory/{categoryId}")
public Category getCategoryi(@PathVariable Long categoryId) {
return categoryService.getById(categoryId);
}
@ApiOperation(value = "根据skuId获取sku信息")
@GetMapping("inner/getSkuInfo/{skuId}")
public SkuInfo getSkuInfoi(@PathVariable("skuId") Long skuId) {
return skuInfoService.getById(skuId);
}
feign接口
@GetMapping("/api/product/inner/getCategory/{categoryId}")
public Category getCategory(@PathVariable("categoryId") Long categoryId);
@GetMapping("/api/product/inner/getSkuInfo/{skuId}")
public SkuInfo getSkuInfo(@PathVariable("skuId") Long skuId);
在实现上架功能时遇到Feign调用返回404的问题,原因在于服务提供者的接口方法名多了一个i字符,导致Feign接口无法找到对应的服务。尽管Feign消费者能调用接口,但未正确对应服务提供者会导致错误。确保Feign接口与服务提供者接口完全匹配是避免这种问题的关键。
3522

被折叠的 条评论
为什么被折叠?



