ホームページ > 記事 > ウェブフロントエンド > Nodejs REST API をデプロイする
今日のインターネット時代では、効率的で高速なバックエンド サービスを構築することが不可欠です。 NodeJS はこの分野で優れており、効率的な Web サービスを迅速かつ簡単に構築できます。 REST API は、今日のインターネット業界で Web サービスを構築する非常に一般的な方法でもあります。コードの量を大幅に削減し、ポート処理を簡素化し、多くの利点をもたらします。この記事では、NodeJS と ExpressJS を使用して REST API を迅速にデプロイする方法を学びます。
開始する前に、環境をセットアップする必要があります。
mkdir project-name cd project-name次に、
npm init を使用して新しいパッケージを作成します:
npm init
npm init 作成者名、プロジェクト名、バージョンなどの基本情報の入力を求められます。一部のデフォルト設定は直接使用でき、独自の情報の一部を変更するだけです。
npm install express body-parser cors —save
app.js という名前の新しいファイルを作成します。これが NodeJS REST API サービスの開始点になります。 Express フレームワークを利用してこのサービスを構築できます。
const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const app = express() const port = 3000 app.use(cors()) app.use(bodyParser.urlencoded({ extended: true })) app.use(bodyParser.json()) app.listen(port, () => { console.log(`Server running on port ${port}`) })上記のコード スニペットでは、Express、body-parser、および cors をインポートします。また、ポート 3000 でリッスンする
app.listen() メソッドも使用しました。最後に、
app.use() メソッドを通じて cors および body-parser ミドルウェアを有効にします。
routes フォルダーを作成し、その中に
index.js ファイルを作成し、次の内容を追加します:
const express = require('express') const router = express.Router() router.get('/posts', (req, res) => { res.status(200).send('All posts') }) module.exports = router;上記のコードでは、新しいルートを作成し、そのルート上の
/posts に対する GET リクエストを作成します。リクエストはステータス コード 200 と「すべての投稿」というテキストを返します。
app.js ファイルに戻り、次のコードを追加します。
const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const app = express() const postRoutes = require('./routes/index'); const port = 3000 app.use(cors()) app.use(bodyParser.urlencoded({ extended: true })) app.use(bodyParser.json()) app.use('/api', postRoutes); app.listen(port, () => { console.log(`Server running on port ${port}`) })上記のコードでは、
routes/index.js で定義されたルートをインポートし、
app.use('/api', postRoutes) メソッドを使用して、REST API サービスにルートを適用します。次に、
localhost:3000/api/posts で GET リクエストを呼び出すと、「すべての投稿」が返されるはずです。
mongoose を使用してそれに接続します。コマンド ラインで次のコマンドを実行することで、mongoose をインストールできます:
npm install mongoose --save次に、
models フォルダーを作成し、その中に新しいファイル
post.js を追加しましょう。簡単なデータモデルを説明します。
const mongoose = require('mongoose'); const postSchema = new mongoose.Schema({ title: { type: String, required: true }, content: { type: String, required: true }, author: { type: String, required: true }, }, { timestamps: true }); module.exports = mongoose.model('Post', postSchema);上記のコードでは、データを定義するために
Post というモデルを定義し、作成時にタイムスタンプ オプションを使用しました。
app.js ファイルに次のコンテンツを追加できます:
const mongoose = require('mongoose'); const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const postRoutes = require('./routes/index'); const PORT = process.env.PORT || 3000; const app = express(); app.use(cors()); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); mongoose.connect('mongodb://localhost/posts', { useNewUrlParser: true, useUnifiedTopology: true }); const db = mongoose.connection; db.on('error', console.error.bind(console, 'MongoDB connection error:')); db.once('open', function() { console.log('Successfully connected to MongoDB!'); }) app.use('/api', postRoutes); app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });上記のコードのデータベース URL は
mongodb://localhost/posts に設定されます。これは、データベース名が
posts であり、ローカルの MongoDB インスタンスに存在することを意味します。 Mongoose ポートにはデフォルトのポート (27017) も使用しました。 Mongoose の非推奨のコードは修正されているため、useUnifiedTopology オプションを使用する必要があることに注意してください。
Post モデル自体を渡す MongoDB ドキュメントを作成します。
const express = require('express'); const router = express.Router(); const Post = require('../models/post.js'); router.get('/posts', (req, res) => { Post.find() .then(data => res.json(data)) .catch(err => res.status(400).json(`Error: ${err}`)); }); router.get('/posts/:id', (req, res) => { Post.findById(req.params.id) .then(data => res.json(data)) .catch(err => res.status(400).json(`Error: ${err}`)); }); router.post('/posts', (req, res) => { const newPost = new Post(req.body); newPost.save() .then(() => res.json('Post added!')) .catch(err => res.status(400).json(`Error: ${err}`)); }); module.exports = router;上部のコードでは、まずモデル ファイルをインポートし、GET または POST リクエストに必要なルートをすべて作成します。 GET リクエストは
Post.find() を使用して MongoDB データベースからすべてのデータベース エントリを抽出しますが、POST リクエストは
newPost.save() を使用して新しいデータをデータベース テーブルに保存します。
上記の手順を完了すると、Postman を使用して REST API をテストできます。
まず、GET リクエストを使用してデータを取得してみます。http://localhost:3000/posts
にアクセスすると、すべての投稿を取得できます。
次に、POST リクエストを使用して新しいデータを作成します。これを行うには、http://localhost:3000/posts
にアクセスし、本文に新しい JSON データ本体を追加します。リクエストの新しい記事を作成します。
最後に、GET リクエストを使用して単一のエントリを取得することもできます。http://localhost:3000/posts/:id
にアクセスして、ID によって提供される単一の投稿を取得できます。 。
これらの簡単な手順で、簡単な REST API を実装し、MongoDB データベースに接続できます。もちろん、エントリの更新や削除などの操作など、この API を継続的に改善できる操作は他にもたくさんありますが、プロセスをより深く理解するために、これらの関数を自分で作成してみることをお勧めします。
以上がNodejs REST API をデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。