java - Spring RestTemplate getForObject 获取 404

标签 java spring rest http

我正在尝试向 Api Rest 发出获取请求,但我总是收到 404,不过,如果尝试在浏览器或 postMan 中复制 queryUrl,它会完美运行。

restTemplate.getForObject(queryUrl, entity ,Integer.class);

我也试过这个:

HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity entity = new HttpEntity(httpHeaders);
log.debug("request headers: " + entity.getHeaders());
ResponseEntity response = restTemplate.exchange(queryUrl, 
HttpMethod.GET, entity, String.class);

但是什么都没有改变。 谁能帮帮我?

最佳答案

我花了一些时间才弄明白,所以我会在这里留下一张小纸条,希望有一天它能帮助到别人。 使用 ResTemplate.getForEntity(URL, Type) 发出获取请求时,我一直收到 404。该 URL 在 Chrome、Postman 中有效,但在我的代码中无效。 结果是因为我有一个 unsafe character在我的 URL 中,准确地说是一个 %,因为我的 URL 有空格,所以 URL 有 %20 而不是空格。 Postman 和 Chrome 可以处理这个,但不是我的代码。一旦我用实际空间替换了不安全字符,一切都很好。

希望它也适合你。

关于java - Spring RestTemplate getForObject 获取 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570798/

相关文章:

spring - 构造函数注入(inject)由另一个 bean 提供的值

java - 如何仅针对给定的单个端点忽略 JsonProperty 并让它适用于其他端点

java - Spring不解析具有相同URL前缀的JSP和JSON

javascript - 过滤 AngularJS REST JSON 数据 : error:badcfg Response does not match configured parameter

URL 中没有 ID 的 RESTful API

java - 如何以正确的顺序获取包含属性文件中所有键的数组?

java - 如何在 Eclipse 中设置编译器选项 'processor'?

java - Java 中的锁定进程

java - 如何正确清理内存?

Spring Boot Actuator 在一个请求中返回所有指标