【问题标题】:how to escape, escape character('\') backslash in java microservicesjava微服务中如何转义,转义字符('\')反斜杠
【发布时间】:2021-02-28 17:48:17
【问题描述】:

我在我的应用程序中使用使用 Spring Boot 的微服务, 我使用 RestTemplate 从“org.springframework.web.client.RestTemplate”调用其他组件服务。
我的组件有一个通用服务,它调用其他组件来获取数据。

每当我的搜索文本带有“test\”之类的反斜杠时,我的 API 调用就会失败。 调试后我得出的结论是,直到 restTemplete.exchange API 没有失败,并且我没有在其他组件 API 方法中收到任何请求。

// restTemplete.exchange(serviceUrl, HttpMethod.POST, request, responseType);

如果我把 'text\t' API 调用成功并且控制到达另一个组件 不知道我是否遗漏了什么。 如何转义转义字符?

我试过text.replace("\\", "\\\\");,但还是没有成功。

【问题讨论】:

    标签: java spring-boot


    【解决方案1】:

    您可以使用称为 UriComponentsBuilder 的东西。 https://stackoverflow.com/a/28183190/8278152

    使用上述组件构建您的网址应该会对您有所帮助。

    【讨论】:

    • 我已经将 UriComponentsBuilder 用于 serviceUrl ,问题出在请求正文上,不知道如何处理。
    【解决方案2】:

    利用注册在相同架构下的微服务的 REST API 的更好方法是使用 Feign Client。更多详情请点击here

    【讨论】:

    • 我无法将其更改为 Feign Client。
    • 它不能解决问题,阿卜杜勒。为什么 Faign 在这种情况下更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多