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

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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Feign进行文件上传,可以使用`@RequestPart`注解将文件作为`MultipartFile`类型的参数传递给Feign客户端的方法。以下是一个示例: 首先,确保你的项目已经添加了Feign和Multipart依赖。 在Feign客户端接口中,创建一个方法来处理文件上传: ```java import feign.Headers; import feign.RequestLine; import org.springframework.http.MediaType; import org.springframework.web.multipart.MultipartFile; public interface FileUploadClient { @RequestLine("POST /upload") @Headers("Content-Type: multipart/form-data") void uploadFile(@RequestPart(value = "file") MultipartFile file); } ``` 在上面的示例中,我们使用`@RequestPart`注解将文件作为参数传递给Feign客户端的`uploadFile()`方法。 接下来,在调用Feign客户端的地方,将文件作为`MultipartFile`类型的参数传递给该方法: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @Service public class FileUploadService { private final FileUploadClient fileUploadClient; @Autowired public FileUploadService(FileUploadClient fileUploadClient) { this.fileUploadClient = fileUploadClient; } public void uploadFile(MultipartFile file) { fileUploadClient.uploadFile(file); } } ``` 在上面的示例中,我们通过构造函数注入了Feign客户端,并在`uploadFile()`方法中调用了该客户端的上传文件方法。 这样就可以使用Feign进行文件上传了。当调用`uploadFile()`方法Feign会将文件以`multipart/form-data`的形式发送到指定的服务端接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值