https://www.google.com/books/edition/Designing_Web_APIs/Dg1rDwAAQBAJ?hl=en&gbpv=1&printsec=frontcover - отличный источник информации о дизайне веб-API. Авторы сравнивают и противопоставляют три стиля: REST
, RPC
и "GraphQL"
:
![Comparison of request-response API paradigms](https://i.stack.imgur.com/b7nbI.jpg)
Первые два - хорошо известный дизайн. узоры с известными названиями. Третий шаблон, который передает данные запроса JSON в одну конечную точку службы, не помещая какие-либо детали запроса в HTTP-глаголы или URL-адреса, также хорошо известен, но авторы ссылаются на него, используя имя определенного c API. а не имя шаблона.
Должно быть общепринятое имя для шаблона веб-API «single-endpoint» или «JSON data», используемого GraphQL. Что это?
Дополнительный вопрос: какие еще популярные веб-API используют чистый JSON интерфейс данных?
Если бы я писал книгу, я бы сказал REST (на основе ресурсов) и RP C (основанный на действии) - это две парадигмы, GraphQL следует паттерну RP C, а то, что в книге называется «RP C», на самом деле является гибридным подтипом «RP C -URL», который вытягивает действие из данные запроса и помещают их в URL.
Но вместо моего собственного мнения я ищу терминологию, которая, скорее всего, будет понятна всему сообществу.