5 REST APIとは
3588 ワード
1.要求タイプ
1)httpリクエスト
すべてのリソースは名詞で識別されます
•HTTPパスでリソースを要求する
• Ex)
• GET/users
• GET/users/{id}
ex)
$ curl -X GET 'localhost:3000/users'
-->は/get usersを使用せず、名詞型のみを使用します.特定のリクエスト時に/users/1とともに使用します.
2)HTTP方法
•サーバリソースの動作を示します.(動詞)
•GET:リソースの表示
$ curl -X GET 'localhost:3000/users'
•POST:リソースの作成$ curl -X POST 'localhost:3000/users' -[data]
:データに基づいて新しいユーザーを作成してください.という意味になります.•PUT:リソースの更新
•DELETE:リソースの削除
•これは、高速アプリケーションの方法で実現されます.
$ curl -X GET 'localhost:3000/users'
やれば...app.get('/users', (req, res) => {
res.send('users list')
})
2) POST$ curl -X POST 'localhost:3000/users' [data]
必要に応じて、app.post('/users', (req, res) => {
// create user..
res.send(user); // 만든 user을 응답.
})
作成したユーザーに応答します.2.応答タイプ
HTTP状態コード
-200:成功(success)、GET、PUT
-201:作成済み、POST
-204:コンテンツなし、DELETE
-400:エラーリクエスト
-401:権限なし
-404:見つかりませんでした
-409:衝突
-500:サーバエラー
3.最初のAPIの作成
:ユーザー・リストの表示
1)コード
const express = require('express')
const app = express()
const morgan = require('morgan')
const port = 3000
const users = [
{ id: 1, name: 'bek' },
{ id: 2, name: 'alice' },
{ id: 3, name: 'chris' },
]
// DB가 없으므로, 일단 배열을 넣어봄.
app.use(morgan('dev'))
app.get('/users', (req, res) => {
res.json(users)
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
2)サーバ駆動
$ npm start

:このように駆動できるのはpackageです.jsonファイルにscriptとして登録されているからです.

3)要求
$ curl -X GET 'localhost:3000/users' -v
4)サーバ側...

このようにログを撮ります!
(nodeのmorganモジュールはログを記録するためのモジュールです!morganモジュールを起動してこのように撮られます.)
5)出力された情報。

不等号左:要求情報について
右側:レスポンスに関する情報.
*cf) morgan
出典:https://backback.tistory.com/335[BackGroup]
現在、コンソールのGET/20051.267 ms-1539などのログはmorganミドルウェアから来ています.
要求された情報をコンソールに書き込みます.
var logger = require('morgan');
app.use(logger('dev'));
関数としてのパラメータdev
short
common
combined
パラメータによってコンソールのログが異なります.
devの場合、GET/20051.267 ms-1539

通常、shortまたはdevは開発時に使用されます.
導入時には汎用または組合せを多く使用します.
パラメータを変えて、ログの違いを直接見てみましょう.
コンソールだけでなく、ファイルまたはデータベースにログを残すこともできます.
ただし、これらの操作を行う場合はwinstonモジュールをより多く使用します.
Reference
この問題について(5 REST APIとは), 我々は、より多くの情報をここで見つけました https://velog.io/@glowing0512_/5-REST-API란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol