前のチュートリアルでは、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モジュール(またはESM)は、ブラウザーやノードなどの環境でスクリプトを接続するための新しい仕様です。デフォルトでノードで使用されるCommonJS(CJS)などの古い仕様を置き換えます。このチュートリアルでは、すべてのESMを使用します。
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によって駆動され、 POST
やbody-parser
モジュールなどの追加のヘッダーがあることがわかります。 index.js
ファイルの上部にimport
ステートメントを追加します。
「Body-Parser」からBodyParserをインポートします。 ...
次に、Expressアプリケーションにcurl -i
サーバーに使用するように指示すると、ヘッダーがRoot DirectoryにGET
するようになりました( .js
拡張機能はrequire
に不要になります。これにより、アプリケーションのルーターを移動して、 index.js
ファイルで使用できます。
//デフォルトルーターをエクスポートするルーター。
index.js
では、ルートを置き換えます。
ルート(アプリ);
JSON形式の偽のユーザーデータを含むroutes.js
のusers
変数に移動できるようになりました。
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 サイトの他の関連記事を参照してください。