2014-09-25 64 views
0

我一直在嘗試使用Nodejs和Express4創建快速REST API,因爲我需要一個API來快速創建原型。雖然我需要所有基本的CRUD操作,但我試圖運行以下URL中的示例:http://runnable.com/U7bnCsACcG8MGzEc/restful-api-with-node-js-express-4 此地址的示例僅支持GET,但我相信我可以快速調整它以支持POST,PUT和DELETE。我不關心有關內存的數據,它甚至更好。Nodejs和Express4的基本REST API

您可以點擊查看代碼。

但是,一旦我開始我的服務器,並繼續http://localhost:8080/players

我在瀏覽器中得到「無法獲取/播放器」。

有什麼想法?如果有人使用帶有內存中持久性的Nodejs的REST API的另一個簡短/快速示例,我將把它作爲:)

+0

你做一個 「故宮安裝」? – Roy 2014-09-25 19:02:51

+1

有兩點:第一,在這個例子中,使用的端口是'80',而不是'8080'。其次,你應該嘗試'http:// localhost:8080/api/players',或'http:// localhost:80/api/players'(我不知道你使用的是什麼數字)。 – 2014-09-25 19:03:27

+0

@Roy是的,我做了一個「npm安裝」。 – dukable 2014-09-25 19:04:03

回答

0

如果要使用CRUD操作創建快速API,然後嘗試npm deployd,但在那裏不表示。如果您喜歡使用代碼,請使用Express-generator

0

請參考以下代碼使用ExpressJS創建REST API。

Server.js

var express = require("express"); 
var mysql = require("mysql"); 
var bodyParser = require("body-parser"); 
var rest = require("./REST.js"); 
var app = express(); 

function REST(){ 
    var self = this; 
    self.connect_to_mysql(); 
} 

REST.prototype.connect_to_mysql = function() { 
    var self = this; 
    var pool  = mysql.createPool({ 
     connectionLimit : 100, 
     host  : 'localhost', 
     user  : 'root', 
     password : '', 
     database : 'restful_api_demo', 
     debug : false 
    }); 
    pool.getConnection(function(err,connection){ 
     if(err) { 
      self.stop(err); 
     } else { 
      self.configureExpress(connection); 
     } 
    }); 
} 

REST.prototype.configureExpress = function(connection) { 
     var self = this; 
     app.use(bodyParser.urlencoded({ extended: true })); 
     app.use(bodyParser.json()); 
     var router = express.Router(); 
     app.use('/api', router); 
     var rest_router = new rest(router,connection); 
     self.start_server(); 
} 

REST.prototype.start_server = function() { 
     app.listen(3000,function(){ 
      console.log("All right ! I am alive at Port 3000."); 
     }); 
} 

REST.prototype.stop = function(err) { 
    console.log("ISSUE WITH MYSQL \n" + err); 
    process.exit(1); 
} 

new REST(); // Instantiate class. 

REST.js

function REST_ROUTER(router,connection) { 
    var self = this; 
    self.handle_routes(router,connection); 
} 

REST_ROUTER.prototype.handle_routes = function(router,connection) { 
    router.get("/",function(req,res){ 
     res.json({"Message" : "Hello World !"}); 
    }) 
} 

module.exports = REST_ROUTER; 

鏈接:http://codeforgeek.com/2015/03/restful-api-node-and-express-4/