如何解决循环休息api
我有REST API,该API公开了JSON,并带有指向下一页和数据的链接,如下所示:
{
"nextPageLink" : "rest_api_url_to_next_page"
"myData" : [ {
"key" : {
"d1" : "d1_value","d2" : "d2_value"
},"productData" : {
"d3" : "d3_value","d4" : "d4_value"
}
"d5" : "d5_value","d6" : "d6_value"
}
大约nextPageLink
的页面数为1000。在最后一页上,其为空。您能指导我如何在Java中进行设计吗?另外,我还有10种以上的REST API可以处理。
我的方法:
- 创建2个pojo,一个用于key(keyPojo),另一个用于其余数据(restDataPojo)。创建一个键为keyPojo且值为restDataPojo的地图。
- 创建一个具有所有值的pojo,然后将数据转储到pojo类型的列表中。
是否有更好的方法来存储此类数据?这种方法足够有效吗?
解决方法
RESTful Web Services Cookbook建议的针对此类问题的“标准”解决方案是使用由关系类型(通常称为rel
)标记的一系列链接。
典型的“页面”如下所示:
{
"links": [{
"rel": "previous","href": "http://example.com/pages/41"
},{
"rel": "next","href": "http://example.com/pages/43"
}
],"otherAttributes": "go here"
}
在第一页上,您省略了previous
链接:
{
"links": [
{
"rel": "next","otherAttributes": "go here"
}
在最后一页上,您省略了next
链接:
{
"links": [{
"rel": "previous","href": "http://example.com/pages/41"
}
],"otherAttributes": "go here"
}
由于links
是一个数组,因此可以使用相同的基础DTO支持这三种情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。