私は最近、たくさんの本を読んでいて、さらに Web 開発の実験をしています。分かりにくいところもあると思いますので、よろしくお願いします。
私は宿題を終わらせようとはしていません。私の知識にはいくつかの穴があり、それを埋めたいと思っています。あなたの意見で私を助けてください:)
REST の質問: ドキュメントを読むと、これは完全に理解できます (NODE.JS / Express) 例:
例 1 (取得):
app.get('/', function(req, res) {
res.send('please select a collection, e.g., /collections/messages')
})
私の説明: サーバーのルートにヒットしたら、次のメッセージを送信します
例 2 (取得):
app.get('/collections/:collectionName/:id', function(req, res) {
req.collection.findOne({name: req.collection.id(req.params.id)},
function(e, result){
if (e) return next(e)
res.send(result)
})
})
私の説明: URL がヒットしたら、URL (params.id にある) から id を取得し、それに基づいて検索を行います (つまり、MongoDB)。
例 3 (post):
app.post('/collections/:collectionName', function(req, res) {
req.collection.insert(req.body, {}, function(e, results){
if (e) return next(e)
res.send(results)
})
})
私の説明: URL がヒットしたら、req.body にあるペイロード (この場合は JSON) を取得し、新しいドキュメントとして挿入します。
質問:
例 1 と 2 はどちらも RESTfull ですか?
私は今、params.idと完全に混同しています。POST が rew.body で送信されることは理解しています... params.id とは何ですか? :ID などの URL 変数が含まれていますか?
私の説明は...正しいですか?
POST が使用されているにもかかわらず、例 3 も REST ですか?
例 3、「/collections/:collectionName. ':collectionName' が URL で渡されるのはなぜですか? req.body にパラメーターとして (新しいデータと共に) 配置し、そこから取得できますか? それを行う利点は何ですか?
ありがとうございました