2017-09-18 5 views
1

APIの出力をテストするために使用されるURIについて混乱します。たとえば、POSTメソッドを使用してデータベースにユーザーを書き込むコードがあります。今、私は別のファイルにこのルータを輸出していますexpress js APIのエンドポイントURI

Usercontroller.js

router.post('/', function (req, res) { 
    User.create({ 
      name : req.body.name, 
      email : req.body.email, 
      password : req.body.password 
     }, 

var Usercontroller = require('./user/UserController.js'); 
var users = app.use('/users',UserController); 

は今、私はこのURIを使用して、ポート8082を聴いて起動したとき: http://localhost:8082/users私は期待された結果を取得します。

enter image description here

私はrouter.postに送信されるリクエスト文字列に変更したいです。 私は変更しようとしましたvar users = app.use( '/ users'、UserController);しかし、それは動作しません。エクスプローラやノードでURIがどのように動作するかを誰でも説明できます。私はこのコンセプトを理解しようとしています!

+0

をあなたにアクセスできるようにしたいreq.bodyから来る文字列? –

+0

req.bodyには、JSON形式で表示しているデータのキーと値のペアが含まれていません。 localhost:port/usersは現在持っているものですが、localhost:port/addusers – Anamika

+1

@LovikaJainを使用したいのは、var users = appです。使用( '/ addusers'、UserController); – Burimi

答えて

0

Expressは、それらの間にルートを追加します。

あなたのUserControllerは '/'をターゲットにし、 '/ users'を追加します。

あなたのAPIがある:あなたが '/ユーザーは、あなたがUserControllerでのあなたのルーターを宣言しなければなりませんした後にAPIを追加したい場合はPOST http://localhost:8082/users/

このURLに「http://localhost:8082/users/foo」というGETを追加したい場合は、このコードをUserControllerに追加することができます。

router.get('/foo', function (req, res) { // code } Expressがルータを一緒に追加します。

あなたのAPIはそのようになります:

をGET:だからあなたは

router.delete('/:uuid', function (req, res) { // :uuid is in req.params.uuid }

関連する問題