Response API là gì
## Giới thiệu Mình là Tâm, anh em đồng nghiệp thương mến thường gọi là Tâm Angel hay Tâm Thần Thái, mình cũng chỉ là một tay developer quèn thôi nhưng hôm nay, một ngày đẹp trời, mình mạo muội xin viết bài này để chia sẻ với tất cả các anh chị em developer mình về một series gồm hai bài kỹ thuật trong Javascript rất hay và khá hiệu quả trong mô hình micro-services, cụ thể là khi gửi request đến một API nào đó đế lấy dữ liệu, mà trong thời gian qua mình được trải nghiệm trong dự án. ## Mở đầu Mở đầu bằng một bài báo đưa tin ở Suez Canal. Nếu có để ý tin tức thì các bạn sẽ thấy hình ảnh chiếc tàu thuỷ khổng lồ ấy đang mang trên mình khá nhiều container nặng nề và cồng kềnh bị kẹt lại giữa lòng một con kênh nhỏ bé trên khắp các trang mạng xã hội. Hình ảnh này làm chúng ta liên tưởng ngay đến một request mang theo vài chục ngàn values của request parameter hoặc là request body một cách vô tình mà đến khi bị lỗi **431 Request Header Fields Too Large** hoặc **414 URI Too Long** thì mới giật mình tìm hướng giải quyết. #### Bài toán thực tế Đến đây chắc mọi người cũng hình dung được vấn đề mình muốn nói tới là gì rồi phải không? Mình sử dụng từ "vô tình", vì trong quá trình develop có thể vì một hoặc nhiều lý do nào đó mà developer chúng ta cứ hay cho một list các ID vào parameter để gọi đến API và lấy kết quả, ví dụ: Cách này khả thi cho những server có khả năng auto scale resource và có cơ chế lọc request để tránh nhầm với DDoS | ## Lời kết Những gì mình chia sẻ ở trên là từ vấn đề thực tế của dự án mình đang hoạt động, từ những bài học ngờ nghệch, ngu ngốc cho đến những ý tưởng rất gì và này nọ qua thời gian và cũng nhờ ý tưởng và sự giúp đỡ của các anh đồng nghiệp là anh Kiệt và anh Trung (Chiêm) đã hỗ trợ mình rất nhiều để giải quyết được vấn đề trên. Hai giải pháp ở trên là minh chứng cho những ngày tháng ngây ngô và thao thức tìm ra được giải pháp tốt hơn trong những ngày đầu mình gặp vấn đề, bài viết sau sẽ là phần giải pháp cho những ngày trưởng thành và hấp dẫn hơn. Bài viết cũng hơi bị dài rồi, nên mình xin chào tạm biệt các bạn và hẹn các bạn ở bài viết sau. Mình là Tâm, follow câu chuyện của mình để cùng trau dồi và chia sẻ kiến thức nhé. #### Reference Về những ideas và kiến thức mình xin viết nguồn tham khảo lại đây cho mọi người nhé: - https://www.npmjs.com/package/fastify-compress - https://www.npmjs.com/package/shrink-string |