API Platform – REST and GraphQL framework to build modern API-driven projects

API Platform is a framework for building API-driven projects. I came across this via this blog post that covers the recent release of v2.4. The list of features and components is quite extensive:

  • Read and write support for MongoDB
  • Read support for Elasticsearch
  • Message queues support via a number of brokers, including Amazon SQS
  • Server Push support for HTTP/2
  • Full compatibility with OpenAPI v3 (Swagger)
  • Automated admin interface and project documentation
  • A variety of components from the Symfony framework

I’m pretty sure that I’ll be taking this for a spin in the nearest future!

Headless CMS: REST vs JSON:API vs GraphQL

Headless CMS: REST vs JSON:API vs GraphQL” is an interesting comparison of the REST, JSON:API, and GraphQL:

In this blog post, we will compare REST, JSON:API and GraphQL. First, we’ll look at an architectural, CMS-agnostic comparison, followed by evaluating some Drupal-specific implementation details.

Picking the right API Paradigm

There are not many people who I trust on the subject of API design like I do Phil Sturgeon. He has been a prominent speaker both online and at numerous conferences, covering a variety of problems, solutions, and approaches in the API design domain.

In one of his recent blog posts, he shared a diagram (see above) which provides a clear illustration on which API paradigm – REST, GraphQL, or RPC – one should pick for a web application, based on a variety of criteria.

I think this is probably the simplest of all the explanations I’ve seen around.

Google Trends for REST, GraphQL and RPC

Here’s an interesting look at Google Trends for REST API, RPC, and GraphQL.  There’s also a link to the actual Google Trends, in case you want to play with it.  For example, here’s how it looks with the addition of the SOAP (as a protocol though, rather than search term which is way too generic):

JSON Server

JSON Server is a handy tool for anybody working with or developing the REST/JSON APIs.  It’s a ready-made “fake” API server, that is super easy to setup with your end points and your data.  And the best part – it’s not just read-only.  You can work with POST, PUT, PATCH, and DELETE requests too and the JSON Server will properly update your pre-configured data in the JSON files.