Wygeneruj endpoint REST API dla swojej aplikacji webowej z użyciem Nodejs i Express - Prompt do ChatGPT

Wygeneruj produkcyjne REST API w Node.js/Express z kodem, testami, dokumentacją i wdrożeniem. Zyskaj skalowalność i wydajność: autentykacja, walidacja, Swagger/Docker, CI/CD, monitoring.

Programowanie3Dodano 10.08.2025Działa w ChatGPT, Claude, Gemini

Co robi ten prompt

  • Generuje kompletny plik routera dla frameworka Express.js w Node.js, gotowy do użycia w projekcie.
  • Implementuje standardowe operacje CRUD (Create, Read, Update, Delete) dla zdefiniowanego przez użytkownika zasobu (np. użytkownika, produktu).
  • Kod wynikowy zawiera podstawową walidację danych wejściowych, obsługę błędów oraz komentarze, co czyni go szablonem o jakości produkcyjnej.

Wskazówki

  • Prompt najlepiej sprawdza się jako szablon (boilerplate) do szybkiego tworzenia standardowych endpointów API. Logikę biznesową i połączenie z bazą danych należy zaimplementować ręcznie w miejscach oznaczonych komentarzem // TODO:.
  • Wygenerowana walidacja jest podstawowa i sprawdza tylko obecność pól. Dla bardziej złożonych wymagań (np. typ danych, format emaila) warto zintegrować dedykowaną bibliotekę, taką jak Joi lub express-validator.
Treść promptu · #44 · CI/CD, architektura API, bezpieczeństwo, OpenAPI
Dane wejścioweuzupełnij w karcie obok
Nazwa Zasobu:[uzupełnij]
Pola Zasobu (oddzielone przecinkami):[uzupełnij]
Konteksttło zadania

Jesteś Senior Backend Developerem z 12-letnim doświadczeniem w budowaniu skalowalnych i bezpiecznych API w ekosystemie Node.js. Specjalizujesz się w architekturze RESTful i frameworku Express.js. Twój kod jest czysty, wydajny i zgodny z najlepszymi praktykami.

Zadanie (Cel)cel

Stwórz kompletny, gotowy do użycia plik routera dla Express.js, który implementuje pełny zestaw operacji CRUD (Create, Read, Update, Delete) dla zasobu [Nazwa Zasobu]. Kod musi być produkcyjnej jakości, zawierać walidację danych wejściowych i obsługę błędów.

Format Odpowiedzijak ma wyglądać wynik
  1. Pojedynczy Blok Kodu: Dostarcz cały kod w jednym, samowystarczalnym bloku kodu JavaScript, gotowym do wklejenia do pliku routes/[nazwa_zasobu].js.
  2. Struktura Kodu:
    • Zaimportuj express.
    • Zainicjuj express.Router().
    • Zaimplementuj 5 endpointów dla zasobu [Nazwa Zasobu] (w liczbie mnogiej, np. /uzytkownicy):
      • GET / - Zwraca listę wszystkich zasobów.
      • GET /:id - Zwraca pojedynczy zasób o podanym ID.
      • POST / - Tworzy nowy zasób na podstawie danych z req.body.
      • PUT /:id - Aktualizuje istniejący zasób.
      • DELETE /:id - Usuwa zasób o podanym ID.
    • Wyeksportuj router używając module.exports.
  3. Komentarze i Placeholdery:
    • Każdy endpoint musi być poprzedzony zwięzłym komentarzem wyjaśniającym jego działanie, np. // GET /api/[nazwa_zasobu] - Pobierz wszystkie....
    • W miejscach, gdzie powinna znaleźć się logika biznesowa lub interakcja z bazą danych, wstaw komentarz-placeholder, np. // TODO: Implementacja logiki połączenia z bazą danych.
  4. Obsługa Danych:
    • Wszystkie odpowiedzi z serwera muszą być w formacie JSON.
    • Używaj poprawnych kodów statusu HTTP (200, 201, 204, 400, 404, 500).
Najważniejszezasady
  • RESTful Compliance: Priorytetem jest ścisłe przestrzeganie zasad REST. Użyj odpowiednich metod HTTP (GET, POST, PUT, DELETE) dla odpowiednich akcji.
  • Walidacja: W endpointach POST i PUT zaimplementuj podstawową walidację, sprawdzającą, czy wszystkie wymagane [Pola Zasobu] (poza ID) są obecne w req.body. W przypadku błędu zwróć status 400 z komunikatem.
  • Obsługa Błędów: Zaimplementuj obsługę przypadku, gdy zasób o danym ID nie zostanie znaleziony (w GET /:id, PUT /:id, DELETE /:id), zwracając status 404.
  • Przejrzystość Kodu: Kod ma być czytelny, z konsekwentnym formatowaniem i nazewnictwem. Zmienne i funkcje muszą mieć nazwy jasno określające ich przeznaczenie.

Jak używać tego prompta

Należy uzupełnić dwa główne pola w sekcji "Dane wejściowe": [Nazwa Zasobu] oraz [Pola Zasobu]. Przykładowo, aby stworzyć API do zarządzania produktami, można użyć następujących wartości: Nazwa Zasobu: Produkt Pola Zasobu: id, nazwa, cena, kategoria, ilosc_na_magazynie

Dobrze wiedzieć

Wygenerowany kod jest doskonałym punktem wyjścia do budowy API zgodnego z zasadami REST. Stosowanie poprawnych metod HTTP (GET, POST, PUT, DELETE) i kodów statusu (200, 404, 500) jest kluczowe dla tworzenia przewidywalnych i łatwych w integracji usług. Pamiętaj, że nazwa endpointu powinna być w liczbie mnogiej i najlepiej w języku angielskim (np. /users, /products), co jest powszechnie przyjętym standardem w tworzeniu API.

Chociaż prompt generuje solidną strukturę, nie obejmuje on aspektów bezpieczeństwa, takich jak autoryzacja i uwierzytelnianie. W rzeczywistej aplikacji kluczowe będzie dodanie warstwy pośredniej (middleware) do weryfikacji tożsamości użytkownika (np. za pomocą tokenów JWT) i sprawdzania jego uprawnień do wykonywania określonych operacji. Ponadto, walidacja powinna być rozszerzona o oczyszczanie danych (sanitization), aby zapobiec atakom typu XSS czy SQL Injection.