This dissertation introduces and elaborates the Representational State Transfer (REST) architectural style for distributed hypermedia systems, describing the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, while contrasting them to the constraints of other architectural styles.
An npm package to create and expose CRUD APIs in Node.js ExpressJS projects for mongoose models. Automatically creates swagger documentation for each API.
The Django REST interface makes it easy to offer private and public APIs for existing Django models. New generic views simplify data retrieval and modification in a resource-centric architecture and provide model data in formats such as XML, JSON and YAML with very little custom code.
For much of the first year or two in the life of Web services - and indeed all of their history up to that point - they were about remote procedure calls (RPC); exposing remote APIs across the Internet in order to facilitate machine-to-machine communication and ultimately, business-to-business integration over the Internet. It didn’t take very long however, for Web services proponents to realize that they needed to distance themselves from RPC and its well-deserved reputation as a poor large scale integration architectural style, due to the failure of systems such as CORBA, DCOM, and RMI to see any widespread use on the Internet. So, sometime in 2000/2001, collective wisdom in the space shifted towards a preference for “document oriented” services. Vendors quickly jumped on board with upgraded toolkits, and that was that; documents were the New Big Thing.
CloudKit provides RESTful JSON storage with optional OpenID and OAuth support, including OAuth Discovery. Stored entities are versioned. Services manage their own storage and do not require schema updates when models change. CloudKit is Rack middleware and as such can be used on its own or alongside other Rack-based applications or middleware components such as Rails, Merb or Sinatra. The CloudKit stack provides an optional OAuth Filter with support for OAuth Core 1.0 and OAuth Discovery. Share your APIs with other web services, desktop apps, Open Social gadgets and more. + An OpenID Filter supplies authentication for browser-based clients. Both the OAuth and OpenID Filters collaborate to simultaneously provide login screens and auth challenges in a single HTTP response. + Discoverable, schema-free, auto-versioned JSON storage tracks each version of each JSON document to allow progressive diff/merge with decentralized or occasionally connected clients.
After years of dealing with REST APIs, when I first learned about GraphQL and the problems it’s attempting to solve, I could not resist tweeting the exact title of this article. Of course, back then…
In this post we cover best practices for writing Node.js RESTful APIs - including route naming, authentication, API testing or using proper cache headers.
Cornice provides helpers to build & document REST-ish Web Services with Pyramid, with decent default behaviors. It takes care of following the HTTP specification in an automated way where possible.