@FeignClient(value = "xxx(注:微服务名字)", configuration = {OssClient.MultipartSupportConfig.class,OssClient.MessageConfiguration.class})
@Service
public interface OssClient
{
@PostMapping(value = "xxx(注:url地址)", consumes = MediaType.MULTIPART_FORM_DATA_VALUE(注:这个要加上))
String uploadFile(@RequestPart("file") MultipartFile file);
@PostMapping(value = "xxx(注:url地址)", consumes = MediaType.APPLICATION_JSON_VALUE(注:这个要加上))
String xxxxx(@RequestBody Params params);
/**
* 上面的configuration要用,这个encoder是用于上传MultipartFile的
*
class MultipartSupportConfig
{
@Bean
public Encoder feignFormEncoder()
{
return new SpringFormEncoder();
}
}
/**
* 上面的configuration要用,这个encoder是用于这个class下还有其他的接口调用但不是用于上传MultipartFile接口的
*
class MessageConfiguration
{
@Bean
Encoder feignFormEncoder(ObjectFactory converters)
{
return new SpringFormEncoder(new SpringEncoder(converters));
}
}
}