Я уверен, что на каком-то этапе своей карьеры разработчика вы мечтали — мечтали! — иметь что-то, что могло бы превратить таблицы вашей базы данных в конечные точки REST или GraphQL, автоматически, просто выразив это намерение (возможно, через файл конфигурации или другие соглашения).
Такая вещь могла бы значительно облегчить вашу жизнь и сделать вашу работу более эффективной для определенных проектов.
Что ж… больше не мечтайте, теперь для этого есть решение, причем бесплатное и с открытым исходным кодом!
И да, под решением я действительно имею в виду создание конечной точки GraphQL и REST из базы данных (возможно, даже из существующей таблицы) без необходимости писать какой-либо код.
Любопытно? Ну, я уверен. Итак, если вы хотите перейти к коду и деталям, вы можете просто перейти к этому репозиторию GitHub:
Azure-Samples / azure-sql-db-rest-graphql-directus
Полная сквозная демонстрация с использованием Vue, Directus, REST, GraphQL и базы данных Azure SQL для создания современного решения для списка Todo
где вы можете создать сквозное решение на основе полного стека / Jamstack, для хранения списка дел в базе данных Azure SQL и представления его через Vue.JS, взаимодействуя полностью через REST или JSON.
В примере реализации используются:
- Azure Web App: для запуска контейнера Directus
- Vue.Js в качестве внешнего клиента
- Directus для автоматического предоставления конечных точек GraphQL и REST из базы данных Azure SQL
- Azure SQL в качестве базы данных для хранения данных ToDo.
Directus — это приложение Node, которое вы можете запустить в Azure, например, с помощью контейнера. После его запуска вам нужно только настроить, какие таблицы вы хотите открыть через REST и GraphQL, настроить уровень разрешения (я уверен, что вы не захотите сделать все ваши таблицы общедоступными) и… больше ничего, вы готовы. Конечно, вы можете сделать гораздо больше, но если вам не нужны дополнительные сложности, это действительно все, что вам нужно сделать.
Вы можете перейти от полностью бескодового/низкокодового подхода к более ориентированному на разработчика (как я сделал, например, в сценарии развертывания, где я также создаю примеры элементов To-Do через конечную точку REST), так что в зависимости от того, где вы находитесь в нашей карьере или положении, вы можете решить, что лучше для вас. Как разработчик я просто рад, что мне больше не нужно писать код plubming (если только мне это действительно не нужно, в этом случае я могу использовать Prisma или Dapper).
Помимо вышеупомянутого сообщения на GitHub, вы также можете узнать больше об Azure SQL и Directus из этого замечательного сообщения в блоге, которое мы только что опубликовали:
https://devblogs.microsoft.com/azure-sql/automatic-graphql-and-rest-endpoint-for-azure-sql-with-directus/
Наслаждайтесь! (Я, конечно, получил огромное удовольствие!)