Posts

Showing posts with the label openapi

NestJS Controller and Swagger Guide

Image
Introduction NestJS is a progressive Node.js framework built with TypeScript, facilitating the development of efficient and scalable server-side applications. By default, NestJS uses Express as its core HTTP processing library. Key advantages include a tight modular architecture inspired by Angular and strong TypeScript support to reduce code errors. Controllers serve as the layer for processing incoming requests and returning responses to the client side. Their primary responsibility is to receive HTTP requests, route data to business logic services, and coordinate the returned result in the correct format. Swagger is a powerful suite of tools used for designing, building, and documenting RESTful APIs developed based on the OpenAPI data format specification. In NestJS, it helps automatically generate an intuitive UI interface for testing endpoints, enabling developers and stakeholders to understand the API structure without directly reading the source code. Detail After creating the N...

Effective API Design

Image
Introduction When discussing designing effective APIs for production-ready, scalable and maintainable systems, we do not just talk about adhering to RESTful standards, but must approach it from a System and Developer Experience (DX) perspective. To design APIs effectively, the core principles usually applied are KISS (Keep It Simple, Stupid) and Consistency . As systems grow larger, consistency in URL design, error codes and payload handling will be the lifesaver for both Frontend and Backend teams. Below is the blueprint for effective API design divided by core pillars: Architectural Style & Protocol Selection Pick the right tool for the job REST (JSON over HTTP/1.1 or HTTP/2) : Still the default choice for public APIs and B2B integrations thanks to its popularity, ease of debugging and broad ecosystem. gRPC (Protocol Buffers over HTTP/2) : Mandatory for Inter-service communication (Internal Microservices) with benefits including low latency, robust streaming suppo...