Sorting is determining the order of items when a list of items is returned from a particular endpoint. The best practice is to really keep things simple and consistent.
Application Programming Interfaces and dates are just as difficult.
Timezone issues crop up because dates and datetimes are just strings in JSON, there’s nothing to necessarily say that this is a date in this format.
Designing by software is a contract – like a legal or business contract. When we design software by contract it means we are designing against a specific specification for each software component.
The REST API will be alive for many years to come because many companies set up integrations and forget about them until there’s a problem. It is still one of the dominant types of application integrations: REST API, SOAP, and more recently GraphQL.
HATEOAS stands for Hypertext As The Engine of Application State. The theory is that by embedding enough information in our API responses it will be easier to use the API without needing to consult documentation.
When designing a REST API we need to really think of the different challenges that can occur. While many of these challenges are related to ignoring the REST API Constraints, there are definitely other issues that will pop up as you work.
Security is essential for REST APIs because our organizations depend on them.
Each resource in the REST architecture is identified by it’s Uniform Resource Identifier (URI)
These tips are based on providing a uniform interface REST constraint.
JSON is a great format for exchanging data, it’s used in almost all REST Apis for receiving and sending data.
A cheat sheet covering RESTful concepts for design and development.
The cheatsheet is one page and covers versioning, designing consistent URIs, HTTP methods, HTTP status codes, error handling and authentication/authorization.
REST APIs function primarily through the use of resources that are located at a certain URI.
Versioning is one of the most critical parts of API design. Versioning allows us to potentially make breaking changes at some point in the future.
The goal of caching is to avoid having to generate the same response twice.
In this blog article we look at five techniques for caching in a RESTful api.
A REST API is a type of API that confirms to the RESTful constraints. REST is designed to take advantage of existing protocols like HTTP.
HTTP Status Codes and HTTP Methods are the building blocks of building a good RESTful API.
REST or REpresentational State Transfer is an API architecture style that uses a uniform interface.
For an API to be RESTful there are six rules that it needs to follow.
APIs come in many different styles and types. Before running into a style we need to understand the different options and the trade offs that we are making.
Over the years, I have been really blessed to work on a number of API developments and to be able to consume a lot of APIs as well whether the APIs were in finance, sales automation (salesforce), or other services. A lot of the APIs had really noticeable deficiencies which I feel really made using the API a lot more difficult than it had to be.
This blog article is really a look at years of experience with APIs and a first attempt to at trying to make them easier to use for the developer. It’s really important to take time upfront and design a great API because it has the potential to be a huge asset for the company, and also has the potential to also be the company’s greatest liability.
A public API will have to remain virtually the same basically forever, so you really only have one chance to get it right. This is because customers or other integrators typically won’t ever update. If your API doesn’t have versioning you’ll basically never be able to make breaking changes. As users use your API and as feedback is collected you should be evolving the API. Continue reading
As part of the HTTP protocol HTTP Status Codes are returned to allow software to easily identify what the problem is and what they should do in response.
API is an acronym for Application Programming Interface. An API is a way for two applications to talk to one another. I like to think of an API as a data pipe that connects two systems together.
Probably most software and hardware you are using uses an API because the server has to talk to the application somewhere along the line. For the most part, most systems use an API to do a lot of the data processing and keeping data secure before it is inserted directly into the database.
Most companies are now building an API for at least mobile applications or other devices to call. A well designed system will use an API that can do load balancing and data caching to more efficiently use resources and better deliver a consistent user experience.