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

  • A+
所属分类:Java springboot 未分类

使用@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转换后的数据

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: