169 похожих чатов

Мне понадобилось создать объекты domain класса на основе того, что

предоставляет сторонний рест, и я потух. Модель самая примитивная — объекты Concept, имеющие отношение друг к другу через поле ascendents в json. Ну и рест-сервис использует паджинацию. Я посмотрел первые четыре книги по спрингу — там описывают как создать свой сервис, а не поглотить существующий. Где можно почитать про поглощение сторонних рест-сервисов?

18 ответов

19 просмотров

уточни, что ты понимаешь под поглощением. по тексту, мне понялось так, будто ты реализуешь межсервисное взаимодействие по http через rest.

Виталик- Автор вопроса
Сергей Акулов
уточни, что ты понимаешь под поглощением. по текст...

В интернете есть рест-сервис, который возвращает объекты Concept. А мне нужны java-объекты класса Concept. Через RestTemplate я бы легко сделал это, но в ресте есть паджинация и сами объекты ссылаются друг на друга. Я это назвал поглощением, потому что моя программа поглощает данные из рест сервиса, а сама ендпоинтов не предоставляет

Виталик
В интернете есть рест-сервис, который возвращает о...

так, окей. а в чем проблема с пагинацией, если чуть более конкретно ? для наглядности лучше бы пример. по идее, сторонний сервис должен предоставлять все необходимые параметры, чтобы этой пагинацией управлять. условно, ключевое поле - указатель, значение которого растет при сдвиге (при условии сортировки по возрастанию ) так называемая KeySet пагинация. ну или пара Limit + Offset, если стратегия такова.

Виталик- Автор вопроса
Сергей Акулов
так, окей. а в чем проблема с пагинацией, если чут...

Вот эти объекты я хочу прочитать в память: https://api.openalex.org/concepts Из полей интересуют только пара айдишников, название и отношение к другим объектам того же типа. Хочу прочитать все 65000 объектов, чтобы получился граф. Сложность в том, что я никогда не читал данные из сторонних рест сервисов в Java. Книги в основном описывают, как создавать свои сервисы, а не читать данные из существующих

Виталик
Вот эти объекты я хочу прочитать в память: https...

В java начиная с 11 версии встроен Http client можешь использовать его для чтения данных. Для сериализации и десериализации json есть класс ObjectMapper https://www.baeldung.com/jackson-object-mapper-tutorial

Виталик
Вот эти объекты я хочу прочитать в память: https...

Ну вот у тебя есть класс Meta { ..... } Есть класс Concept{ ..... } Далее ResultResponse { private Meta meta; private List<Concept> results; }

Виталик- Автор вопроса
Dima
Ну вот у тебя есть класс Meta { ..... } Есть кла...

А если в Concept есть поле List<Concept>? У Jackson элегантное решение для такой задачи? В json вроде достаточно часто вложенные списки ссылаются на другие объекты лишь по их айдишникам. Или даже ссылку содержат

Да есть

Dima
Да есть

какое решение есть для этого?

Алексей
какое решение есть для этого?

а где вы тут проблему вообще увидели ? в маппинге JSON на JsonNode никаких ограничений по структуре нет

Алексей
надо мапить на Entity

сколько угодно объекты можно вкладывать друг в друга, зависит от вас и смысла не меняет

Сергей Акулов
сколько угодно объекты можно вкладывать друг в дру...

так написано сверху, а как связка будет работать, если там в качестве ссылки используется url https://t.me/javastart/584367

Алексей
какое решение есть для этого?

Такую же вложенность создаешь и все

Dima
Такую же вложенность создаешь и все

а как url ссылка на объект конвертируется в экземпляр объекта?

Dima
Что значит url ссылка на объект?

когда у тебя ручка не джсон возвращает, а ссылку на участок памяти

Виталик- Автор вопроса
Dima
Что значит url ссылка на объект?

https://softwareengineering.stackexchange.com/questions/351224/why-do-restful-services-that-implement-hateoas-provide-a-self-relationship-link

Похожие вопросы

Обсуждают сегодня

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Карта сайта