Amadeus POI Java要求下一个,最后一个不起作用

2020年3月11日 9点热度 0条评论

我正在使用Java SDK,并尝试了Point of Interest API。我只能获得第一页,如果我尝试获得下一页或最后一页,我仍然可以获得原始结果。

PointOfInterest[] pointsOfInterest =  amadeus.referenceData.locations.pointsOfInterest.get(Params
   .with("latitude", "41.39715")
   .and("longitude", "2.160873"));
pointsOfInterest = (PointOfInterest[]) amadeus.last(pointsOfInterest[0]);

两者都返回相同的结果。下一个,最后一个等字段的URL似乎未正确编码。这是原始调用返回的以下字段:“ next”:“
https://test.api.amadeus.com/v1/reference-data/locations/pois?latitude=41.39715&longitude=2.160873&page[offset]=10&page[limit]=10”,“ last”:“
https://test.api.amadeus.com/v1/reference-data/locations/pois?latitude=41.39715&longitude=2.160873&page[offset]=260&page[limit]=10

解决方案如下:

这是测试环境的限制。

Amadeus for Developers自助服务API附带2个环境:
-测试:无访问权限,但数据有限(您可以找到列表here)和每月可以进行的交易数量。
-生产:无限制访问生产实时数据,每笔交易收费。

对于兴趣点,API返回limited number of cities的数据,而对于每个城市,返回有限数量的兴趣点。这就是为什么分页返回相​​同的POI的原因。