使用@FeignClient的json转form-data数据转换调用

在这里插入图片描述
首先说明一下情况,Server服务是原来就有的,Server_1之前调用Server的时候使用是form-data形式,这就导致了Server支持的就是form-data格式,导致了Server_2使用json格式调用的时候就调不通,拿不到数据。此时需要做数据的转换。

1.添加一个转换类

public class FeignSimpleEncoderConfig {
    @Bean
    public Encoder encoder(){
        return new FormEncoder();
    }
}

2.在需要调用的地方使用配置。注意不可使用map数据,否则会报错。

@Component
@FeignClient(value = "Server", fallback = xxx.class, configuration = FeignSimpleEncoderConfig.class)

3.在需要转换的数据中,设置格式
其中MediaType.APPLICATION_FORM_URLENCODED_VALUE = "application/x-www-form-urlencoded"

@RequestMapping(value = "/a/b", method = RequestMethod.POST,
            consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    JSONObject queryPageListPlusMis(BasicInfoQueryForm form);

4.此时调用即可,会发现数据完成转换。Server端可以拿到json转换后的数据

发布了74 篇原创文章 · 获赞 12 · 访问量 8217

猜你喜欢

转载自blog.csdn.net/cao1315020626/article/details/101067893
今日推荐