<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Api on Gaurav.dev</title><link>/tags/api/</link><description>Recent content in Api on Gaurav.dev</description><generator>Hugo</generator><language>en-US</language><copyright>© 2026 Gaurav. Built with care and clean code.</copyright><lastBuildDate>Sat, 12 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="/tags/api/index.xml" rel="self" type="application/rss+xml"/><item><title>Designing a Laravel API That Can Grow</title><link>/posts/laravel-api-at-scale/</link><pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate><guid>/posts/laravel-api-at-scale/</guid><description>&lt;p&gt;Laravel makes the first version of an API pleasantly fast. The architectural work is making the hundredth feature just as understandable as the first.&lt;/p&gt;&#10;&lt;h2 id="keep-transport-separate-from-business-rules"&gt;Keep transport separate from business rules&lt;/h2&gt;&#10;&lt;p&gt;Controllers should translate HTTP into an application request and translate the result back. Validation belongs in request objects; serialisation belongs in resources. Business decisions should live in focused application services or domain objects that can run without pretending an HTTP request exists.&lt;/p&gt;</description></item></channel></rss>