Evolving REST is a Pain
Is JSX the cure-all for too much REST? And the latest from the tech community on apis, including Hurl, Koa, how to write error messages, cacheability and more!

Dan Abramov's JSX Over The Wire post has gained traction lately. While I respect Dan and his solution addresses specific use cases, I disagree with claims like Evolving REST endpoints is a pain
and REST Resources lack firm grounding in reality
. These arguments advocating for JSX over wire and criticising REST-view alignment indicate you might not need a REST API or any API. It sounds like Dan misses the old AJAX endpoints we all used to build before misusing APIs became popular.
In software, everything involves trade-offs. My team built a REST API because we support our frontend and other teams' services/reports. API Design-first principles would resolve most of Dan's issues, as would choosing appropriate tools. Alternative approaches like database-over-the-wire or local-first would be a better solution here.
No shade to Dan, but REST isn't inherently problematic - the real issues stem from inadequate planning or mismatched tool selection.
-- Alexander

Help shape the future of APIs
If you build, manage, or use APIs, your insights can help highlight key trends and challenges in the ecosystem.
Take the 10 minute survey, and you'll get early access to the report — plus a chance to win a PS5, NuPhy mechanical keyboard, and more!
The API Round-Up
API News, links, and tools from around the web
Hurl - Run and Test HTTP Requests
Hurl fell across my desk last week, and, dam, is it fun. Hurl is a command-line tool that turns complex HTTP requests into plain text you can actually read! Perfect for REST, SOAP, GraphQL, or any API that speaks JSON or XML. I had a lot of fun with this one.
Koa 3.0
Koa dropped a brand new version. Koa appeared in the Node ecosystem as an alternative to Express, focusing on modern JavaScript alternatives. With Express returning from the dead with a major release, it's great to see Koa is still going.
Assets Author API
Adobe just dropped an OpenAPI spec for their AEM Assets Author. What is AEM? I honestly did not know either, but "Adobe Experience Manager" is a content management system for websites, web, and mobile apps. Great to see effort like this put into documentation.
How to write error messages
One of my biggest frustrations is API errors that return terrible error messages. While this blog post is not API specific, its guide on writing content for errors is on point. Want more API error-specific guides? Check out Creating Good API Errors in REST, Graphql, and grpc and Why Show Users Garbage API Errors, which our very own Phil Sturgeon put together.
APIs You Won't Hate
The latest from the team at API's You Won't Hate.
API Design Basics: Cacheability
Stop thinking of caching as something to come and add in later for performance. Designing an API with cachability in mind produces a more sensible and better separated set of resources, and it just so happens to be more performant, cheaper, and better for the environment.
HTTP Caching APIs with Laravel and Vapor
Stop wasting server(less) resources answering the same questions repeatedly by enabling CloudFront for your Laravel REST/HTTP API. When paired with the article above, your better-designed APIs will now cost a lot less to run, and your clients will be much happier.
From our Community
Articles written and shared in our free Slack community.
Green Software Practitioner
Have you taken the Green Software foundations practitioner course? Phil is feeling super generous. For everyone who completes the course, he will send over a certificate for five trees planted by Protect Earth. Reach out to him in our green-tech channel.
Support APIs You Won't Hate
When you become an member, you'll get access to members-only content while directly supporting our work. Your support helps us to keep making resources for the API community.
Become a member todayThanks so much to our members: Kin L, Juxt, Alex R, Nolan S, Frank, James D, Bill D, Rich, and Umair. Your support means the world to us!
Until next time,
Alexander, Phil & Mike