java - 为什么 Spring UriComponentsBuilder 抛出 java.lang.IllegalArgumentException?

标签 java spring

为了将我的 Java SpringBoot 应用程序与常规 REST 端点集成,我使用此方法来准备 URI

import org.springframework.web.util.UriComponentsBuilder;

    private URI prepareEndpointUrl(MyQuery q) {
    return UriComponentsBuilder.fromHttpUrl(apiConfiguration.getLeadTimesPreCalcRestEndpointUrl())
            .queryParam(PARAM1, q.getCountryFrom())
            .queryParam(PARAM2, q.getZipCodeFrom())
            .queryParam(PARAM3, q.getCountryTo())
            .queryParam(PARAM4, q.getZipCodeTo())
            .build().toUri();
}

URL 通过参数传递给 UriComponentsBuilder 作为第一个参数,具体取决于我的应用程序运行的环境。

适用于所有较低环境,但在产品中抛出 java.lang.IllegalArgumentException。

ERROR @ o.a.c.c.C.[.[.[.[dispatcherServlet] | Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: [ https://A_VALID_HOST/api/XX-YY.json] is not a valid HTTP URL] with root cause
java.lang.IllegalArgumentException: [ https://A_VALID_HOST/api/XX-YY.json] is not a valid HTTP URL

我用谷歌搜索了这个,显然它可能与编码 url/参数有关,但我没有这样做。显然这个环境中有些东西是不同的,我不知道如何开始寻找什么。

有什么想法吗?

最佳答案

正如上面 Stephen 所指出的,问题是我的 URL 中 http 之前的空格。

显然,没有修剪;谢谢大家。

关于java - 为什么 Spring UriComponentsBuilder 抛出 java.lang.IllegalArgumentException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60846734/

相关文章:

java - Spring通过包名进行日志记录

spring - 在实际 Web 请求之外使用请求范围的 bean

java - 软件设计和循环 Maven 依赖关系

java - 如果文件不断更改,我是否必须创建 fileinputstream 的新实例?

java - 使用 HttpClient 模拟 HTTP POST 时出现问题

Java连接OracleDB : java. sql.SQLRecoverableException: IO error: The pipe has been cut

java - Eclipse插件开发: Schematic Editor

javascript - ModelAndView 不重定向,但给出正确的响应

javascript - Spring MVC Controller 不拦截 Ajax POST

java - 在Heritrix爬虫工具中如何从爬行的url中提取内容