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

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

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

18 ответов

23 просмотра

уточни, что ты понимаешь под поглощением. по тексту, мне понялось так, будто ты реализуешь межсервисное взаимодействие по 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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта