работал я с этой херотой. как только задача выйдет за пределы документации - застрелиться можно. поддержка даже из коробки ОЧЕНЬ тяжелая - масса нюансов. документировал это говно под свагер, аннотаций вышло в 3 раза больше, чем кода.
Я считаю, что проблема REST API, да даже простого HTTP в том, что он уже устарел. Я считаю, что сейчас нужно использовать WebSocket'ы. Потому что это в разы быстрее, экономичнее, в разы даёт больше возможностей (те же push-уведомления). Да, REST можно использовать для предоставления внешних каких-то сервисов, но внутри компании, бизнес-приложения нет смысла в этих тормозах. Лучше уж сразу всё сделать на WSS. Скорость работы приложения - это всегда решает, люди всегда стремятся именно туда, где всё более отзывчивое. А если будет WSS, тут по-любому придётся делать свой внутренний язык запросов, который не соответствует REST, потому что скорее всего это будет чистый JSON без всяких HTTP-кодов. По идее, конечно, и в JSON можно все эти коды и типы данных запихнуть, если в этом есть необходимость. Но скорее всего это будет лишним.
"Почему так правильно? потому что так сказал Рой Филдинг; потому что это REST; потому что это архитектурные принципы, на которых строится наша профессия сейчас." Да уж сказал бы просто: По качану.
HATEOAS (Hypermedia as the Engine of Application State) - архитектурные ограничения для REST-приложений. В докторской диссертации Роя Филдинга определены ограничения HATEOAS как неотъемлемая часть функции «единого интерфейса». ru.wikipedia.org/wiki/HATEOAS В качестве дополнения по теме гиппер-медиа
JSON - формат данных (также бывает слава богу почти забытый SOAP, иногда другие дичи) REST - формат общение (GET, POST, PUT, коды ответов, форматы запросов, заголовки) Практически всегда они идут рука обруку Практически, но не всегда
Все в JSON API хорошо, только вот ни документацию ни тесты нормальные не напишешь. Зато наклепаем лайфхаков, засунем SQL в JSON, надругаемся над REST, лихо решим бизнес-задачи и пойдем гулять! Красота!
Вот на практике иногда приходится нарушать rest- принцип, потому что он не работает на определенных кэйсах. Например если нужно отправить запрос на выборку данных со сложной логикой фильтрацией- отобрать на бэкэнд список элементов, по которым нужно вернуть данные. Можно конечно все запихнуть в строку запроса, но её может банально не хватить. Намного легче и понятнее отправить все в теле post- запроса.
работал я с этой херотой. как только задача выйдет за пределы документации - застрелиться можно. поддержка даже из коробки ОЧЕНЬ тяжелая - масса нюансов. документировал это говно под свагер, аннотаций вышло в 3 раза больше, чем кода.
тонна воды а когда начинается про JSON API хуяк хуяк
я до этого рассмотрел + и - graphql и odata. От виде я ожидаю больше инфы про jsonApi
Я считаю, что проблема REST API, да даже простого HTTP в том, что он уже устарел. Я считаю, что сейчас нужно использовать WebSocket'ы. Потому что это в разы быстрее, экономичнее, в разы даёт больше возможностей (те же push-уведомления). Да, REST можно использовать для предоставления внешних каких-то сервисов, но внутри компании, бизнес-приложения нет смысла в этих тормозах. Лучше уж сразу всё сделать на WSS. Скорость работы приложения - это всегда решает, люди всегда стремятся именно туда, где всё более отзывчивое. А если будет WSS, тут по-любому придётся делать свой внутренний язык запросов, который не соответствует REST, потому что скорее всего это будет чистый JSON без всяких HTTP-кодов. По идее, конечно, и в JSON можно все эти коды и типы данных запихнуть, если в этом есть необходимость. Но скорее всего это будет лишним.
как готовить вебсокеты? покрывают все потребности из доклада? тесты, масштабированность?
"Почему так правильно?
потому что так сказал Рой Филдинг;
потому что это REST;
потому что это архитектурные принципы, на которых строится наша профессия сейчас."
Да уж сказал бы просто: По качану.
HATEOAS (Hypermedia as the Engine of Application State) - архитектурные ограничения для REST-приложений. В докторской диссертации Роя Филдинга определены ограничения HATEOAS как неотъемлемая часть функции «единого интерфейса».
ru.wikipedia.org/wiki/HATEOAS
В качестве дополнения по теме гиппер-медиа
классный доклад и спикер
Я вот не совсем понял REST и JSON API это одно и тоже?
Нет, это разное. Json api базируется на rest
@@СигмаЛермонтова спасибо) ждал ответа) я так и предполагал)
JSON - формат данных (также бывает слава богу почти забытый SOAP, иногда другие дичи)
REST - формат общение (GET, POST, PUT, коды ответов, форматы запросов, заголовки)
Практически всегда они идут рука обруку
Практически, но не всегда
@@СергейЗакордонец-и6р JSON API, а не JSON
Все в JSON API хорошо, только вот ни документацию ни тесты нормальные не напишешь. Зато наклепаем лайфхаков, засунем SQL в JSON, надругаемся над REST, лихо решим бизнес-задачи и пойдем гулять! Красота!
Вот на практике иногда приходится нарушать rest- принцип, потому что он не работает на определенных кэйсах. Например если нужно отправить запрос на выборку данных со сложной логикой фильтрацией- отобрать на бэкэнд список элементов, по которым нужно вернуть данные. Можно конечно все запихнуть в строку запроса, но её может банально не хватить. Намного легче и понятнее отправить все в теле post- запроса.