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 GET
POST
PUT
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ń POST
PUT
, 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.