私は非常に単純なnode.jsアプリケーションを持っています。これは、RESTインターフェースを介していくつかのledを制御するものです。 pugテンプレートから作成された特定の情報を表示するページがあります。そして、他のいくつかのRESTエンドポイントは、リードをオンまたはオフにするものとします。node.js express router.post give 404
私の問題は、がを取得すると、私はhtmlのサイトを返すことができますが、私はポストを経由して機能を実行できないということです。
これは私のコードです:見られるように、(動的にパグを経て作成された)HTMLページが正しく返され
sudo npm start
> [email protected] start /data/shared/Developing/ledconodel
> node ./bin/www
Listening on port port 3000
GET /leds/blue/ 200 2291.133 ms - -
GET /leds/blue/ 304 229.306 ms - -
GET /stylesheets/style.css 304 11.105 ms - -
GET /leds/blue/on 404 328.030 ms - 1155
、しかし:
var express = require('express');
var router = express.Router();
var led = require('../public/javascripts/driveredled');
/* GET Red LED page. */
router.get('/', function(req, res, next) {
res.render('oneled', { title: 'Red LED' });
});
// base path is already set as being /leds/{color}
router.post('/on', function(req, res) {
led.turnledon();
});
// base path is already set as being /leds/{color}
router.post('/off', function(req, res) {
led.turnledoff();
});
// base path is already set as being /leds/{color}
router.post('/blink', function(req, res) {
led.blinkled();
});
module.exports = router;
、ここでは、ログ出力されますエンドポイントへのポストコマンドはではありません。
私は非常にnode.js、表現と関連する概念を新しくしているので、私はむしろここで立ち往生しています。
誰でも手助けできますか?ログ出力から
敬具、
クリス
をシミュレートするPostmanのようないくつかの他のソフトウェアを使用して取得します、あなたがいるように見えますPOSTリクエストの代わりに '/ on'にGETリクエストをしてください。 –
POSTではなく、GETを使用してエンドポイントにアクセスしようとしているからです。 – JavaEvgen
投稿リクエストがあったときに何も返さないからです。 'router.post('/on '、function(req、res){ led.turnledon(); res.json({status:' success '});; })のような処理を行います。 ' –