记录微服务 Feign访问服务端是报feign.FeignException$InternalServerError: status 500 reading CommodityManageService#insertCommodityCategory(CommodityCategory) 错误

服务端

在这里插入图片描述

客户端

在这里插入图片描述

客户端报错

在这里插入图片描述

服务端报错

在这里插入图片描述
从服务端报错可以看出接收的参数为空,说明客户端没有把参数传过去。

spring cloud项目使用feign的时候都会发现一个问题,就是get方式无法解析对象参数。其实feign是支持对象传递的,但是得是Map形式,而且不能为空,与spring在机制上不兼容,因此无法使用。

spring cloud在2.1.x版本中提供了@SpringQueryMap注解,可以传递对象参数,框架自动解析

// 添加商品类别
    @PostMapping(value = "/commodityCategory/insertCommodityCategory")
    CommonResult<CommodityCategory> insertCommodityCategory(@SpringQueryMap CommodityCategory commodityCategory);

重启运行成功!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐