最近将自己负责的项目从dubbo升级为了spring cloud组件, 带来了一系列的问题, 其中有一个关于消息转换器的问题
问题描述
在使用feign客户端调用一个外部的接口时
String url = ossClient.uploadFile("bucketName", "objectKey", data);
外部的接口时这样的
@PostMapping(value = "/oss/upload_file")
public String uploadFile(@RequestParam String bucketName, @RequestParam String objectKey, @RequestBody Object data) {
return ossService.uploadFile(bucketName, objectKey, data);
}
发现得到的url是带引号的, 即:
url = ""https://......."";
导致写入数据库的url参数无法被正常解析.
在使用spring cloud之前, 调用的方式为dubbo
String url = ossService.uploadFile("bucketName", "objectKey", data);
获取到的url正常
url = "https://.......";
解决历程
因为dubbo方式调用结果正常, 而feign调用方式出现问题, 他们不同的地方在于feign是经过了Controller层, 也就是经过了消息转化器的转化
1. 先通过Controller接口测试
@PostMapping(value = "/oss/upload_file")
public String uploadFile(