您的位置:首页 > 编程语言 > Java开发

springcloud使用feign实现服务间条用,参数数据太大,无法调用成功解决方法

2018-07-24 17:46 4427 查看
公司项目做一个关于程序报错,实现给管理发送邮件提醒时使用springcloud的feign调用接口时总是走断路器

经过分析得出,调用接口时传递的参数过大,无法调用成功,解决方法如下:

1:引入springcloud关于feign依赖

<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.0.3</version>
</dependency>

2:编写配置项

@Configuration
public class CoreFeignConfiguration {

@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;

@Bean
@Primary
@Scope(SCOPE_PROTOTYPE)
Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(this.messageConverters));
}

@Bean
public Logger.Level logger() {
return Logger.Level.FULL;
}
}

3:启动类上添加注解

@EnableTransactionManagement

4:接口调用使用注解

@FeignClient(value = "sendemail", fallback = SendEmailHystrix.class,
configuration = CoreFeignConfiguration.class)
public interface SendEmail {

@RequestMapping(method = RequestMethod.POST, value = "sendemail/commonMail"
,consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
Object sendEmail(@RequestParam("addTo") String addTo,
@RequestParam("setSubject") String setSubject,
@PathVariable("details") String details);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Spring Cloud
相关文章推荐