background preloader

Restful API

Facebook Twitter

Create, read, update and delete. Another variation of CRUD is BREAD, an acronym for "Browse, Read, Edit, Add, Delete".

Create, read, update and delete

DRULAB is also a variation, where "L" stands for Locking the access to the data (Delete, Read, Update, Lock, Add, Browse). This concept is mostly used in context with data protection concepts. HTTP/2 technology demo. JSON-LD. JSON-LD, or JavaScript Object Notation for Linked Data, is a method of encoding Linked Data using JSON.


It was a goal to require as little effort as possible from developers to transform their existing JSON to JSON-LD.[1] This allows data to be serialized in a way that is similar to traditional JSON.[2] It is a World Wide Web Consortium Recommendation. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group[3] for review, improvement, and standardization.[4] Apiary — Home. Building Next-Generation Web APIs with JSON-LD and Hydra. The HTTP OPTIONS method and potential for self-describing RESTful APIs. The OPTIONS method is a somewhat obscure part of the HTTP standard that could be used today with a strong impact on the interconnectedness of the interwebs while requiring minimal effort.

The HTTP OPTIONS method and potential for self-describing RESTful APIs

It's role is well defined in RFC2616, yet no web services that I can find are taking advantage of it. To quote the spec: Hypertext Application Language. Hypertext Application Language (HAL) is an Internet Draft (a "work in progress") standard convention for defining hypermedia such as links to external resources within JSON or XML code.

Hypertext Application Language

The standard was initially proposed on June 2012 specifically for use with JSON[1] and has since become available in two variations, each specific to JSON or XML. The two associated MIME types are media type: application/hal+xml and media type: application/hal+json.[2] HAL was created to be simple to use and easily applicable across different domains by avoiding the need to impose any requirements on how the project be structured. Maintaining this minimal impact approach, HAL has enabled developers to create general-purpose libraries which can be easily incorporated on any API that uses HAL.[1] APIs that adopt HAL are generally more appealing to developers[neutrality is disputed] because it simplifies the use of open source libraries and makes it possible to interact with the API using JSON or XML.

HATEOAS. The HATEOAS constraint decouples client and server in a way that allows the server functionality to evolve independently.


Details[edit] A REST client enters a REST application through a simple fixed URL. REST API concepts and examples. ProgrammableWeb - APIs, Mashups and the Web as Platform. Untitled. REST is hot!


But doing REST right is more difficult than most people think. Idempotent methods, hateoas, RMM levels… All terms that a REST developer should know and master. But from a learning (as I do too, by the way) developer perspective, it looks pretty simple: use HTTP methods like get, post, put and delete, map them onto resources, call the underlying database models and you’re done: a fully RESTfull API in just 5 minutes. But off course, when you actually have created a RESTfull API, you find out very quickly that nothing could be more difficult. ToDo. RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax. Hypertext Transfer Protocol. - The RESTful cookbook. RAML - RESTful API modeling language.

API Reference - Google Calendar API. Representational state transfer. Software architectural style that defines a set of constraints to be used for creating Web services Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services.

Representational state transfer

Web services that conform to the REST architectural style, called RESTful Web services, provide interoperability between computer systems on the Internet. RESTful Web services allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations. Other kinds of Web services, such as SOAP Web services, expose their own arbitrary sets of operations.[1]