Feign 客户端--服务端传递参数为空

本文探讨了在使用Spring Cloud Feign框架时,客户端与服务端参数传递不一致导致的空值问题。通过实例展示了如何调整客户端和服务器控制器,确保@RequestBody注解的正确应用,以解决数据丢失问题。
摘要由CSDN通过智能技术生成

Feign 客户端–服务端传递参数为空

框架:springcloud
技术:feign
请求发送工具:postman
问题:在客户端传递的参数不为空,但是在服务端却只能接收到null数据
客户端controller代码:

@Autowired
private MerchantClient merchantClient;

@RequestMapping(value = "/merchant/insertMerchant", method = RequestMethod.POST)
public int insertMerchant(TMerchant tMerchant){
      return merchantClient.insertMerchant(tMerchant);
}

客户端client接口代码:

@FeignClient(name = "sys-provider",fallback = MerchantFallBack.class)
public interface MerchantClient {

    /**
     * 新增商户信息
     * @param   tMerchant   商户信息
     */
    @RequestMapping(value = "/merchant/insertMerchant", method = RequestMethod.POST,consumes = "application/json")
    int insertMerchant(@RequestBody TMerchant tMerchant);


}

服务端controller代码:

@Autowired
private MerchantService merchantService;
    
@RequestMapping(value = "insertMerchant", method = RequestMethod.POST)
public int insertMerchant(TMerchant tMerchant){
	return merchantService.insertMerchant(tMerchant);
}

解决:feign两端传递参数不匹配,在客户端使用@RequestBody但在服务端不使用@RequestBody,两端参数不对等
更改服务端controller代码:

@Autowired
private MerchantService merchantService;
    
@RequestMapping(value = "insertMerchant", method = RequestMethod.POST)
public int insertMerchant(@RequestBody TMerchant tMerchant){
	return merchantService.insertMerchant(tMerchant);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值