Разбор HATEOAS JSON в Java - PullRequest
       17

Разбор HATEOAS JSON в Java

0 голосов
/ 15 октября 2019

У меня есть следующий ответ JSON в стиле HATEOAS:

{
    "count": 37,
    "next": "https://swapi.co/api/species/?page=2",
    "previous": null,
    "results": [
         ...
    ]
}

Мне нужно прочитать все результаты с этой конечной точки, однако единственный способ - это пролистать страницы, они не предоставляют никакой конечной точкис полным результатом в виде одной страницы.

Моя идея решить эту проблему - просто получить следующее поле из ответа и повторять до тех пор, пока "next" не станет нулевым.

Существует ли лучший способ, предлагаемыйв Java или Gson?

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Если вы уже знаете общее (count=37; total=100;...) количество элементов, то вы можете получить результат просто путем разбивки на страницы. Как мы видим, предусмотрены только поля previous и next, поэтому вам нужно извлекать next, пока его значение не станет null. Java или Gson не имеют к этому никакого отношения, все зависит от того, сколько информации вы получаете от бэкэнда.

Моя идея решить эту проблему - просто получить следующее поле из ответа и повторять до "next "не равно нулю.

Ваш подход кажется законным.

0 голосов
/ 15 октября 2019

Если вы не можете предоставить параметр запроса, такой как limit или что-то подобное, я чувствую, что это было бы невозможно. Как сказал Рухул, ваш подход кажется хорошим.

...