Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What is a RESTful API?

DZone's Guide to

What is a RESTful API?

You've heard the phrase "RESTful API," but do you know what it actually means? Here's a great breakdown.

· Integration Zone
Free Resource

Share, secure, distribute, control, and monetize your APIs with the platform built with performance, time-to-value, and growth in mind. Free 90-day trial of 3Scale by Red Hat

rest

When you’re designing an API, it’s important to know the type of API you want for your specific project and what its advantages and disadvantages are. REST or RESTful APIs are some of the most popular APIs; but how do you know that this type of API is right for what you want to do?

RESTful APIs are designed to take advantage of existing protocols. While REST – or Representational State Transfer – can be used over just about any protocol, when used for web APIs it it typically takes advantage of HTTP. Therefore, developers don’t need to install additional software or libraries when creating a REST API.

REST APIs provide a great deal of flexibility, which is one of their key advantages. Data is not tied to resources or methods, so REST can handle multiple types of calls, return different data formats and even change structurally with the correct implementation of hypermedia. This allows developers to build APIs that can meet their own needs while also meeting the needs of multiple types of customers.

The disadvantage to RESTful APIs is that you can lose the ability to maintain state in REST. They can also be more difficult for newer developers to use.

For more information about RESTful APIs, and how to select the right type of API for your project, download the eBook Undisturbed REST: A Guide to Designing the Perfect API.

Explore the core elements of owning an API strategy and best practices for effective API programs. Download the API Owner's Manual, brought to you by 3Scale by Red Hat

Topics:
api ,rest

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}