It can feel overwhelming trying to put together a validation solution for an Express API. You know you need to validate requests and send back error responses, but you’re not sure about the best way of doing it with the Express framework. What you have works, but it feels clumsy. You’re worried that you’re doing it the wrong way.
If you want to be able to confidently apply validation best practices to every Express API you create, this guide can help. It includes some of my most popular articles about building APIs with Express. They’ll introduce you to practical standards and show you how you can apply them in your applications.
Learn how to do things the Express way
In order to effectively validate requests to your API and send consistent error responses you’ll need to work with the patterns and conventions which are baked in to Express. The most fundamental pattern it uses is "middleware", but honestly, it can get pretty confusing.
The middleware pattern is fundamental to building applications with Express, so you want to have a solid understanding of what middleware is and how it works.
➜ Get to grips with middleware
Learn how to validate requests
You’ve tried to pick a validation library, but it’s more difficult than you expect because they’re all quite different from each other, and it’s not clear what benefits one has over another. Perhaps you start to build your own custom validation, but it quickly starts to feel very messy. You just want to be able to put something reliable in place for validation and move on to building the interesting stuff in your API.
You wonder to yourself, is adding request validation to an Express API really this difficult?!
➜ Learn how JSON Schema and Ajv can help
Learn how to send helpful error responses
When you’re creating an Express API it can be difficult to know how to handle error cases and send consistent error responses. It becomes even more complicated if you want to send helpful error responses with extra details about what went wrong.
You know these extra details are needed because they’ll also be super helpful for debugging requests to your API, but before you know it, you find yourself designing your own error response format. It all feels awkward, and like it’s probably something you shouldn’t be doing, but what alternative is there?
Overwhelmed trying to implement validation in your Express API?
I’ve written a book that pulls together all of the validation concepts and techniques that I’ve shared through articles here on this blog. It combines them into a complete API validation strategy that you can immediately start applying in your Express applications.
"Concise and a pleasure to read. This book has clarified concepts for me that I couldn’t get right even after years of consulting the Express documentation."
— Carles Andres, Lead Engineer at Tellimer
The book is packed with practical code examples and includes a handy JSON Schema cheat sheet.