在从 openfeign 客户端(boot 2.2.4)到 Spring Data Rest API(boot 1.5.9)的调用中禁用特殊字符转义

Disable special character escaping in call from openfeign client (boot 2.2.4) to Spring Data Rest API (boot 1.5.9)

我们有一个 Spring Data Rest API 建立在 Spring-Boot 1.5.9 上,从升级后的 (spring-boot 2.2.4) OpenFeign/Hateoas客户.

自升级客户端以来,我们遇到了 API 中的数据库约束异常,因为几个 Person 实体字段中的“&”字符被 html 转义。例如,

44TC&R&GG 

被传递为

44TC&R&GG

有没有办法禁用这种编码?

@FeignClient(contextId = "person", name = "PERSON-DATA", configuration = {FeignClientSecurityConfiguration.class, FeignConfig.class})
public interface MyClient {

 @RequestMapping(method = RequestMethod.PUT, value = "/api/orders/{personId}")
    EntityModel<Person> updatePerson(@PathVariable("personId") String personId, Person person);

我能够通过将首选 http 转换器设置为 gson 来解决这个问题,gson 有一个 属性 来禁用 html 转义。

spring.http.converters.preferred-json-mapper=gson

spring.gson.disable-html-escaping=true