星期三, 8月 16, 2017

[node.js] 快快樂樂學node.js (三) 實作第一個REST API (沒有採用資料庫)

由於大家開始習慣所謂的SPA 單一頁面應用程式架構,
前端可以搭任何喜歡的前端框架,例如vue.js/angular/react.js
因此後端就只要負責與前端透過REST API溝通,
REST API的理論就不多說明了,直接記錄在node.js express如何實作



Messages REST APIs

要實作對應的CRUD動作在express是非常容易的,一樣對應post/get/put/delete的http method即可。

在routers一樣新增先前說過的router js檔: api.js


/*簡單的api範例*/
var express = require('express');

var router = express.Router();

//所有訊息
router.get('/messages', function(req, res) {
    res.json({ message: "Hello Message!!" });
});

//單一訊息
//使用網址path的方式,帶入指定物件的id
router.route('/messages/:id') 
.get(function(req, res) {
    res.json({
        id: req.params.id, // 以req.params.id 取得參數

        message: 'The get api for messages: ' + req.params.id
    })
})

.post(function(req, res) {
    res.json({
        id: req.params.id,
        message: 'The post api for messages: ' + req.params.id
    })
})

.put(function(req, res) {
    res.json({
        id: req.params.id,
        message: 'The put api for messages: ' + req.params.id
    })
})

.delete(function(req, res) {
    res.json({
        id: req.params.id,
        message: 'The delete api for messages: ' + req.params.id
    })
});

module.exports = router;

載入 api.js

記得在app.js載入剛新增的api.js router
app.use('/api',api);

測試api

如果是get的api你可以使用瀏覽器測試,完整測試可以下載postman這個api chrome外掛

http://localhost:3000/api/messages/1

{"id":"1","message":"The get api for messages: 1"}

參考

http://blog.techbridge.cc/2016/04/23/fast-restful-nodejs-api-backend/
http://hzchirs-blog.logdown.com/posts/212065-build-restful-web-api-by-using-nodejs-and-express4
https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd

沒有留言:

張貼留言

留個話吧:)

其他你感興趣的文章

Related Posts with Thumbnails