@FeignClient(name = "xpxDesign-render",configuration = RenderFeignService.FormSupportConfig.class)
public interface RenderFeignService {
@ApiOperation(value = "更新单个渲染状态", httpMethod = "POST")
@PostMapping(value = "/render/render/task/finish",consumes =
MediaType.APPLICATION_FORM_URLENCODED_VALUE)
Result<String> updateTask(@RequestBody Map<String, ?> formParams);
//feign支持form表单的操作
class FormSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
// new一个form编码器,实现支持form表单提交
@Bean
@Primary
@Scope(SCOPE_PROTOTYPE)
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
// 开启Feign的日志
@Bean
public Logger.Level logger() {
return Logger.Level.FULL;
}
}
}
jar
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.3.0</version>
</dependency>