ホームページ >ウェブフロントエンド >jsチュートリアル >node.jsとexpressで最初のAPIをコーディングします:サーバーをセットアップします

node.jsとexpressで最初のAPIをコーディングします:サーバーをセットアップします

William Shakespeare
William Shakespeareオリジナル
2025-03-14 10:00:15416ブラウズ

node.jsとexpressで最初のAPIをコーディングします:サーバーをセットアップします

前のチュートリアルでは、RESTアーキテクチャ、休息の6つの制約、HTTPリクエスト方法とその応答コードの理解方法、およびRESTFUL APIエンドポイントの構成について学びました。

このチュートリアルは、API用のサーバーをセットアップします。プログラミング言語とサーバーソフトウェアを使用してAPIを構築できますが、node.js(JavaScriptのバックエンド実装)とExpress(人気のあるミニマリストノードフレームワーク)を使用します。

インストール

最初の前提は、node.jsとnpmがコンピューターにグローバルにインストールされるようにすることです。 express-apiでテストし、それに切り替えることができます。

 mkdir express-api && cd express-api

これで、新しいディレクトリに入ったので、プロジェクトのセットアップを完了するために、各依存関係とともにインストールコマンドでプロジェクトを初期化できます。

 NPMインストールBody-Parser Express MySQLリクエスト

これによりpackage-lock.jsonファイルとnode_modulesディレクトリが作成され、 package.jsonが更新され、次のようになります。

 {
  「名前」:「Express-App」、
  「バージョン」:「1.0.0」、
  "説明": ""、
  「メイン」:「index.js」、
  「著者」:「asyncbanana」、
  「ライセンス」:「MIT」、
  「依存関係」:{
    「ボディパーサー」:「^1.19.2」、
    「エクスプレス」:「^4.17.3」、
    「mysql」: "^2.18.1"、
    「ノードフェッチ」:「^3.2.0」
  }
}

次に、「スクリプト」オブジェクトを追加する必要があります。 「スクリプト」オブジェクトは、コードを実行するのに役立ちます。

 {
  「名前」:「Express-App」、
  「バージョン」:「1.0.0」、
  "説明": ""、
  「メイン」:「index.js」、
  「スクリプト」:{
    「start」:「node index.js」
  }、
  「著者」:「asyncbanana」、
  「ライセンス」:「MIT」、
  「依存関係」:{
    「ボディパーサー」:「^1.19.2」、
    「エクスプレス」:「^4.17.3」、
    「mysql」: "^2.18.1"、
    「ノードフェッチ」:「^3.2.0」
  }、
  「タイプ」:「モジュール」
}

ECMaScriptモジュールとは何ですか?

ECMAScriptモジュール(またはESM)は、ブラウザーやノードなどの環境でスクリプトを接続するための新しい仕様です。デフォルトでノードで使用されるCommonJS(CJS)などの古い仕様を置き換えます。このチュートリアルでは、すべてのESMを使用します。

HTTPサーバーを設定します

Expressサーバーのセットアップを開始する前に、Nodeの組み込みhttpモジュールを使用してHTTPサーバーをすばやく設定し、ポート番号を設定します( createServer()メソッドを選択しました)。

 // "http"からnodeのHTTPモジュールインポート{createServer}を使用してサーバーを構築します。
const port = 3001;
const server = createServer();

入門RESTの記事では、HTTPサーバーに関するリクエストと回答について説明します。リクエストを処理するためにサーバーを設定し、リクエストされたURLをサーバー側に表示し、「Hello、Server!」メッセージを応答側に表示します。

 server.on( "request"、(request、response)=> {
    console.log( `url:$ {request.url}`);
    Response.End( "Hello、server!");
});

最後に、どのポートを聴き、表示されたときにどのポートを聞き、表示するかをサーバーに指示します。

 // server server.listen(port、(error)=> {を起動します。
    if(error)return console.log( `error:$ {error}`);
    console.log( `サーバーはポート$ {port}`)で聴いています。
});

以前に作成したNPMスクリプトを実行して、サーバーを開始できます。

 NPM開始

この応答は端末に表示されます。

 <code>Server is listening on port 3001</code>

サーバーが実行されているかどうかを確認するには、 https://localhost:3001/helloにアクセスしてください。サーバールートディレクトリにget requestが表示されます( /リクエストを受信すると、要求されたURLと「Hello、Server!」メッセージが表示されます)。

 app.get( "/"、(request、response)=> {
    console.log( `url:$ {request.url}`);
    Response.send( "Hello、server!");
});

最後に、 listen()メソッドのポートでサーバーを起動します。

 const server = app.listen(port、(error)=> {
    if(error)return console.log( `error:$ {error}`);
    console.log( `port $ {server.address()。ポート}`)で聞くサーバー
});

URLにcurl -iを使用できるようになり、Expressによって駆動され、 POSTbody-parserモジュールなどの追加のヘッダーがあることがわかります。 index.jsファイルの上部にimportステートメントを追加します。

 「Body-Parser」からBodyParserをインポートします。
...

次に、Expressアプリケーションにcurl -iサーバーに使用するように指示すると、ヘッダーがRoot DirectoryにGETするようになりました( .js拡張機能はrequireに不要になります。これにより、アプリケーションのルーターを移動して、 index.jsファイルで使用できます。

 //デフォルトルーターをエクスポートするルーター。

index.jsでは、ルートを置き換えます。

ルート(アプリ);

JSON形式の偽のユーザーデータを含むroutes.jsusers変数に移動できるようになりました。

 const users = [
  {
    ID:1、
    名前:「リチャード・ヘンドリックス」、
    電子メール:「richard@piedpiper.com」、
  }、
  {
    ID:2、
    名前:「バートラム・ギルフォイル」、
    メール:「gilfoyle@piedpiper.com」、
  }、
];

別の/usersを追加して、ユーザーデータを送信します。

 app.get( "/users"、(request、response)=> {
    Response.send(users);
});

サーバーを再起動した後、 http://localhost:3002/usersに移動し、表示されるすべてのデータを表示できます。

注:ブラウザにJSON Viewer拡張機能がない場合は、Chrome's JSonVueなどのダウンロードを強くお勧めします。これにより、データが読みやすくなります!

GitHubリポジトリにアクセスして、この記事の完全なコードを表示し、自分と比較してください。

結論は

このチュートリアルでは、ノード、ルートリクエスト、URLで組み込みのHTTPサーバーとExpressサーバーをセットアップする方法を学び、GESリクエストを使用してJSONデータを使用しました。

Restful APIシリーズの最終号では、ExpressサーバーをMySQLに接続して、データベース内のユーザーを作成、表示、更新、削除してAPIの機能を完了します。

以上がnode.jsとexpressで最初のAPIをコーディングします:サーバーをセットアップしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。