5 błędów produkcyjnych, które popełniłem przy tworzeniu Express APIs

API nie psują się z powodu skomplikowanego kodu.

Psują się, ponieważ ignorujesz nudne szczegóły.

Wyciągnąłem te pięć lekcji z prawdziwych błędów na produkcji.

  1. Waliduj dane na wczesnym etapie

Kiedyś walidowałem dane wewnątrz logiki biznesowej. Powodowało to błędy daleko od źródła problemu.

Teraz natychmiast odrzucam błędne żądania.

Jeśli żądanie nie zawiera poprawnego adresu e-mail, natychmiast zwróć błąd 400. Nie pozwól, aby błędne dane dotarły do głównej logiki.

  1. Używaj specyficznych kodów błędów

Ogólny błąd 500 nikomu nie pomaga.

Jeśli klucz API jest nieprawidłowy, zwróć błąd 401. Jeśli użytkownik nie ma środków, zwróć błąd 402.

Jeśli musisz wyjaśniać błąd na Slacku, oznacza to, że komunikat Twojego API zawiódł.

  1. Sprawdź kolejność middleware

Spędziłem godziny na debugowaniu problemów z uwierzytelnianiem. Problemem była po prostu kolejność moich middleware.

Zachowaj następującą kolejność:

Jedna błędna linia psuje wszystko.

  1. Loguj odpowiednie dane

Próbowałem wielu stylów logowania. Większość była bezużyteczna.

Do standardowego śledzenia loguj metodę, ścieżkę i kod statusu.

W przypadku błędów loguj ID żądania, komunikat błędu i stack trace.

Wszystko inne to szum, gdy budzisz się o 3 rano.

  1. Ustaw limity zapytań (rate limits)

Widziałem, jak jeden endpoint był tak mocno atakowany, że generowało to realne koszty.

API bez limitów opiera się na nadziei. Nadzieja nie jest strategią bezpieczeństwa.

Użyj express-rate-limit, aby chronić swój serwer.

Większość awarii API wynika z ignorowania podstaw.

Produkcja nie dba o Twoje plany. Liczy się tylko Twoja konfiguracja.

Źródło: https://dev.to/manolito99/5-production-mistakes-that-changed-how-i-build-express-apis-133e