2017-09-18 41 views
1

我對用於測試任何API輸出的URI感到困惑。例如,我有一段用POST方法將用戶寫入數據庫的代碼。express js中的端點URI API

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如何在express或node中工作。我正試圖理解這個概念!

+0

所以你希望能夠獲得訪問權限來自req.body的字符串? –

+0

沒有req.body將包含我以JSON格式顯示的鍵值對數據。我想改變在URI中傳入的用於在數據庫中添加用戶的id:localhost:port/users是我現在所擁有的,但我想要使用localhost:port/addusers – Anamika

+1

@LovikaJain比你剛纔的做法:var users = app。使用( '/ ADDUSERS',UserController的); – Burimi

回答

0

Express在它們之間添加路線。

您的UserController以'/'爲目標,並添加'/ users'。

您的API是:POST http://localhost:8082/users/

如果希望在 '/用戶' 您必須聲明你的路由器在UserController中添加的API。

如果你想添加GET到這個URL'http://localhost:8082/users/foo'。您可以將此代碼添加到UserController:

router.get('/foo', function (req, res) { // code } Express將一起添加路由器。

你的API將是這樣的:

您可以使用像這樣的配置參數:

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