<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Web Development on EXPONENTIAL DEV by Diego - Tech Blog</title><link>https://diegogborges.github.io/tags/web-development/</link><description>Recent content in Web Development on EXPONENTIAL DEV by Diego - Tech Blog</description><generator>Hugo -- 0.152.2</generator><language>en-us</language><lastBuildDate>Mon, 17 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://diegogborges.github.io/tags/web-development/index.xml" rel="self" type="application/rss+xml"/><item><title>REST API - Design Guidelines</title><link>https://diegogborges.github.io/posts/rest-api/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><guid>https://diegogborges.github.io/posts/rest-api/</guid><description>&lt;p&gt;Everything you need to know to get started with REST in just a few minutes.&lt;/p&gt;
&lt;p&gt;REST API is the technology that transformed the way systems communicate with each other.
It enables applications, websites, servers, and devices to exchange data quickly, securely, and universally — forming the foundation of modern apps, powerful integrations, and digital experiences that work anywhere.&lt;/p&gt;
&lt;h2 id="index"&gt;&lt;strong&gt;Index&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#-what-is-an-api"&gt;What Is an API?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#-what-is-a-rest-api"&gt;What Is a REST API?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#-key-rest-concepts"&gt;Key REST Concepts&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#resources"&gt;Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#main-http-methods"&gt;Main HTTP Methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#data-formats"&gt;Data Formats&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#-restful-api-characteristics"&gt;🔧 RESTful API Characteristics&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#1-stateless"&gt;Stateless&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-clientserver-architecture"&gt;Client–Server Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-cacheability"&gt;Cacheability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-uniform-interface"&gt;Uniform Interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-layered-system"&gt;Layered System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#general-recommendations"&gt;General Recommendations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#use-plural-nouns-in-urls"&gt;Use Plural Nouns in URLs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#keep-the-base-url-simple-and-intuitive"&gt;Keep the Base URL Simple and Intuitive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#avoid-verb-based-urls"&gt;Avoid Verb-Based URLs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#use-http-verbs-to-operate-on-resources"&gt;Use HTTP Verbs to Operate on Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#resource-listing-and-detail-retrieval"&gt;Resource Listing and Detail Retrieval&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#associations"&gt;Associations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#use-query-parameters-to-reduce-url-complexity"&gt;Use Query Parameters to Reduce URL Complexity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#error-handling"&gt;Error Handling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#versioning"&gt;Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#partial-response"&gt;Partial Response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#pagination"&gt;Pagination&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#actions-not-involving-resources"&gt;Actions Not Involving Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#multi-format-support"&gt;Multi-Format Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#attribute-naming"&gt;Attribute Naming&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#attributes-in-requestresponse-bodies"&gt;Attributes in Request/Response Bodies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#attributes-in-urls-query-parameters"&gt;Attributes in URLs (Query Parameters)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#attributes-in-headers"&gt;Attributes in Headers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#references"&gt;References&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id="what-is-an-api"&gt;What Is an API?&lt;/h1&gt;
&lt;p&gt;An &lt;strong&gt;API (Application Programming Interface)&lt;/strong&gt; is a set of standards and protocols that allow different systems or users to interact with an application.&lt;br&gt;
It enables clients to access the software’s features and services without needing direct access to its internal implementation.&lt;/p&gt;</description></item></channel></rss>