Introducing REST APIs

REST APIs are a specific type of APIs. They use HTTP as the protocol to communicate with them, so you can imagine that they will be the most used ones by web applications. In fact, they are not very different from the websites that you've already built, since the client sends an HTTP request, and the server replies with an HTTP response. The difference here is that REST APIs make heavy use of HTTP status codes to understand what the response is, and instead of returning HTML resources with CSS and JS, the response uses JSON, XML, or any other document format with just information, and not a graphic user interface.

Let's take an example. The Twitter API, once authenticated, allows developers to get the tweets of a given user by sending an HTTP GET request to https://api.twitter.com/1.1/statuses/user_timeline.json. The response to this request is an HTTP message with a JSON map of tweets as the body and the status code 200. We've already mentioned status code in Chapter 2, Web Applications with PHP, but we will review them shortly.

The REST API also allows developers to post tweets on behalf of the user. If you were already authenticated, as in the previous example, you just need to send a POST request to https://api.twitter.com/1.1/statuses/update.json with the appropriate POST parameters in the body, like the text that you want to tweet. Even though this request is not a GET, and thus, you are not requesting data but rather sending it, the response of this request is quite important too. The server will use the status codes of the response to let the requester know if the tweet was posted successfully, or if they could not understand the request, there was an internal server error, the authentication was not valid, and so on. Each of these scenarios has a different status code, which is the same across all applications. This makes it very easy to communicate with different APIs, since you will not need to learn a new list of status code each time. The server can also add some extra information to the body in order to throw some light on why the error happened, but that will depend on the application.

You can imagine that these REST APIs are provided to developers so they can integrate them with their applications. They are not user-friendly, but HTTP-friendly.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.199.184