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!

Evolving REST is a Pain

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

Take the Survey

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 today

Thanks 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