Jak definiować trasy i metody żądań HTTP w Expressie
Wprowadzenie
W tym artykule dowiemy się, jak obsługiwać trasy i metody żądań HTTP w projekcie Express. Trasy obsługują nawigację użytkownika do różnych adresów URL w całej aplikacji. Protokół HTTP, skrót od Hyper Text Transfer Protocol, komunikuje i ułatwia przesyłanie danych z serwera Express do przeglądarki internetowej.
Dowiedz się, jak definiować trasy i używać metod żądania HTTP GETPOSTPUT i DELETE do manipulowania danymi.
Wymagania wstępne
Aby ukończyć ten tutorial, zrozumienie Node.js jest pomocne, ale nie wymagane. Jeśli chcesz dowiedzieć się więcej o Node.js, sprawdź serię How To Code in Node.js.
Ustawianie projektu
Jako że Express jest frameworkiem Node.js, upewnij się, że masz zainstalowany Node.js z Node.js przed wykonaniem następnych kroków. Wykonaj poniższe polecenia w terminalu:
Utwórz nowy katalog o nazwie node-express-routing dla swojego projektu:
- mkdir node-express-routing
Wejdź do nowego katalogu:
- cd node-express-routing
Zainicjuj nowy projekt Node z domyślnymi ustawieniami. Będzie to zawierało twój package.json plik, aby uzyskać dostęp do twoich zależności:
- npm init -y
Utwórz swój plik wejściowy, index.js. To tutaj będziesz obsługiwać swoje trasy i metody żądań HTTP:
- touch index.js
Zainstaluj zarówno Express, jak i nodemon jako zależności. Będziesz używał nodemon do ciągłego restartowania projektu Express za każdym razem, gdy zmieni się plik index.js.
- npm install express --save
- npm install -D nodemon
Otwórz swój plik package.json za pomocą preferowanego edytora tekstu i zaktualizuj swój skrypt start, aby uwzględnić nodemon i twój plik index.js:
To pozwoli ci użyć polecenia npm start w twoim terminalu, aby uruchomić twój serwer Express i zaktualizować zmiany.
Teraz, gdy skonfigurowałeś swój projekt i skonfigurowałeś nodemon do odświeżania, gdy wykryje zmiany w twoim pliku index.js, jesteś gotowy do uruchomienia swojego serwera Express.
Uruchamianie serwera Express
Twój serwer Express jest miejscem, w którym będziesz obsługiwać logikę integrującą trasy i metody żądań HTTP. Skonfigurujesz i uruchomisz swój serwer, aby wizualizować swój projekt w przeglądarce.
Aby uruchomić serwer Express, wymagaj Express w swoim pliku index.js i przechowuj instancję w zmiennej app. Następnie zadeklaruj zmienną PORT i określ adres :3000.
Następnie dołączamy .listen() do app i jako pierwszy argument wstawiamy PORT, a następnie funkcję callback. The Express middleware .listen() tworzy lokalną przeglądarkę z adresu w twojej zmiennej PORT, aby zwizualizować twoje zmiany.
Załącz również express.json() jako argument do app.use(). Służy to do parsowania danych przychodzących przez twoje żądania HTTP. Wcześniejsza wersja opierała się na zależności body-parser, ale od tego czasu Express zawiera wbudowane oprogramowanie pośredniczące do parsowania danych.
Wykonaj następujące polecenie w swoim terminalu, aby uruchomić projekt:
- npm start
Twój projekt jest załadowany na . Przejdź do swojej przeglądarki i zauważ, co następuje:

To jest początek działającej instancji Express. Popracujmy nad zdefiniowaniem metod HTTP, które będą wypełniać przeglądarkę.
Definiowanie metody żądania HTTP GET
Aby wyświetlić swój projekt, możesz wysłać informacje z serwera Express poprzez GET żądanie, metodę HTTP.
W index.js, dołącz .get() do swojej zmiennej app, określ anonimową trasę i dołącz wywołanie zwrotne, które uzyskuje dostęp do argumentów request i response:
app.get('/', (request, response) => { response.send('Hello');});
Trument request zawiera informacje o żądaniu GET, natomiast response.send() wysyła dane do przeglądarki. Dane wewnątrz response.send() mogą być ciągiem znaków, obiektem lub tablicą.
Jak już zaimplementowałeś żądanie GET, przyjrzyjmy się trasom i innym metodom HTTP.
Zrozumienie tras
Jeśli przejdziesz do otrzymasz wszystkie konta w swojej tablicy:
Output
Możesz również filtrować identyfikatory kont używając punktu końcowego /:id. Express traktuje ID w punkcie końcowym /:id jako placeholder dla parametru użytkownika i dopasowuje tę wartość.
Po przejściu do , otrzymasz jedno konto, które pasuje do parametru /:id:
Output{ "id": 3, "username": "sarahjane", "role": "guest"}
Projektowanie metod żądania HTTP POST, PUT, i DELETE
MetodyHTTP zapewniają dodatkową funkcjonalność do twoich danych za pomocą żądań POSTPUT, i DELETE. Metoda żądania POST tworzy nowe dane w Twoim serwerze, podczas gdy PUT aktualizuje istniejące informacje. Metoda DELETE usuwa określone dane.
POST
Aby utworzyć nowe dane w tablicy accounts, możesz zintegrować metodę żądania POST.
W index.js, dołącz .post() do swojej zmiennej app i dołącz trasę'/accounts' jako pierwszy argument:
Wpchniesz wszelkie przychodzące dane z twojego żądania POST do tablicy accounts i wyślesz odpowiedź jako obiekt JSON.
Twoja accounts tablica zawiera teraz nowego użytkownika:
PUT
Możesz edytować i aktualizować konkretne konto poprzez żądanie PUT.
W index.js dołącz .put() do swojej zmiennej app i dołącz trasę '/accounts/:id' jako pierwszy argument. Znajdziesz wprowadzony identyfikator konta i ustawisz warunek, aby zaktualizować o nowe dane:
Jesteś teraz w stanie zaktualizować dane w tablicy accounts. Jeśli użytkownik zmieni swoje "role":
{ "role": "guest"}
Uwaga, że "role" aktualizuje się do guest z admin w
Output{ "id": 1, "username": "paulhal", "role": "guest"}
DELETE
Możesz usunąć użytkowników i dane za pomocą metody żądania DELETE.
Wewnątrz index.js, dołącz .delete() do swojej zmiennej app, i dołącz '/accounts/:id' jako pierwszy argument. Przefiltrujesz przez tablicę accounts i zwrócisz konto do usunięcia.
Jeśli wyślesz żądanie DELETE do , spowoduje to usunięcie konta o wartości /:id równej 1 z tablicy accounts.
Podsumowanie
Specyfikacja tras i użycie metod żądania HTTP pomagają wygenerować dodatkową wydajność podczas tworzenia, aktualizacji i usuwania użytkowników i danych w serwerze Express.