Комментарии 13
не к содержанию статьи, а к ее теме.
какой ужас! вообще сомнительная полезность всяких библиотек доступа к данным по типу graphql и jsonrpc. буквально убийство приложения. связывает по рукам и ногам. даже для mvp сомнительная цена.
У всего свои плюсы и минусы. У этого подхода плюс в том, что API полностью сгенерировано.
Это позволяет как получать/фильтровать/сортировать ответы с любой глубиной вложенности, так и производить манипуляции с данными на любой глубине.
Скажем, хотите добавить департамент, в него сотрудника, а ему сразу добавить выгрузку зарплат за один запрос? Не проблема, авторезолверы полностью поддерживают API Призмы.
Плюс, не придется писать инструкцию, достаточно дать ссылку на сайт с доками по призме, чтобы фронты разобрались как этим пользоваться.
А написали мы всего два файла. Сложно сходу это представить, я тоже не сразу понял прикола
Можно конечно. Но придется это писать и делать. ?? Лично я бы потратил время на что-нибудь другое кроме очередного CRUD.
Или вы имеете ввиду, что существует способ сгенерировать типизированные REST эндпоинты с валидацией, поддержкой вложенности данных и автогенерацией Open API спек?
Не собираюсь, всё верно. А зачем? Что именно там надо развить, когда у вас в распоряжении полный доступ к любым операциям с базой из коробки?
Всё что вам остаётся сделать - это убедиться, что клиент не выполнит операцию, которую не должен. Но это тема следующей статьи.
Вы что-то пропали. Расскажете как поддерживать и развивать сгенерированный код?
Мне статья понравилась, спасибо. Думаю если цель стоит в том чтобы получить авто генерацию GraphQL API исходя из сущностей есть гораздо более удобный способ это сделать - keystone js.
Спасибо! Да, в целом, почти одно и тоже - directus, keystone, strapi и еще штук сто похожих.
Из того с чем сталкивался лично - Strapi, но она не умеет в edge и в строгую типизацию. Ну и медленно очень запросы обрабатывает. Иногда до минуты может доходить время ответа сервера.
А Keystone?
Погуглил, keystone хорош
Я пока только для своих пет проектиков поюзал немного keystone. Годная тема, но есть свои ньюансы, порой довольно неприятные. Тем не менее позволяет очень быстро поднять GraphQL API и легко его конфигурировать. Поддержка TS тоже огонь. Не знаю насколько покатит для высоконагруженных систем... Но юзать приятно)
Благодарю за статью, сам что-то похожее сейчас ищу.
Видел вариант keystone + t3, пробовали ли сравнивать?
Как на счёт t3 варианта решений?
Пока не доводилось, всё ещё работаю с этим подходом.
P.S. статья об этом упоминает, но там есть проблема с валидацией ввода в мутациях. Если вкратце, мутации по-умолчанию позволяют клиенту слишком много операций.
Вам потребуется prisma-zod-generator, чтобы добавить декоратор, который будет фильтровать ввод
Как сгенерировать безопасный, типизированный Node.js API с использованием Prisma, TypeGraphQL и graphql-query-purifier