【发布时间】:2017-02-22 18:32:48
【问题描述】:
如果我从浏览器发送以下获取请求,我可以轻松获得预期的 JSON 响应:
http://www.bookandwalk.hu/api/AdminTransactionList?password=XXX&begindate=2016-04-30&enddate=2016-10-12&corpusid=HUBW
我尝试使用 SPRING BOOT 1.4 创建一个小型演示应用程序,以查看 Spring 中的 rest 调用如何工作。 所以我创建了一个代表我的域对象的 POJO,并通过以下方法调用请求域对象列表:
String startDate=new SimpleDateFormat("yyyy-MM-dd").format(start.getTime());
String endDate=new SimpleDateFormat("yyyy-MM-dd").format(end.getTime());
UriComponents uri=UriComponentsBuilder.newInstance().scheme("http").host("www.bookandwalk.hu").path("/api/AdminTransactionList").queryParam("password","xxx").queryParam("begindate",startDate).queryParam("enddate",endDate).queryParam("corpusid","HUBW").build().encode();
LOG.log(Level.INFO,"{0} were called as a rest call",uri.toString());
ResponseEntity<List<BandWTransaction>> transResponse =
restTemplate.exchange(uri.toString(),
HttpMethod.GET, null, new ParameterizedTypeReference<List<BandWTransaction>>() {
});
List<BandWTransaction> transactions = transResponse.getBody();
我遇到了以下异常:
org.springframework.web.client.HttpClientErrorException: 404 Not Found
当我记录 uri.toString() 时,我将它复制到我的浏览器以仔细检查我的 uri 中是否有任何拼写错误,但它可以正常工作而没有任何故障。 有谁知道为什么相同的字符串在浏览器中有效,但在代码中无效?
【问题讨论】:
标签: spring spring-boot