0

我对 NodeJS 比较陌生,但我正在移植一个用 PHP 编写的现有 API 服务器来使用 NodeJS。我开始研究Express,但意识到 Express 中的所有布局渲染和模板内容并不适合这项任务。然后我查看了Restify,但意识到它的 REST 特性不适用于此 API 的模型。

我不想要任何与数据库相关的东西,或者任何设置 API 端点的特定方式。在没有任何库帮助的情况下完全推出我自己的服务器的最佳解决方案是什么?

编辑:对不起,我似乎不清楚。我正在尝试尽可能接近地重新创建 PHP API,并且 PHP 版本不使用 REST。它有几个不同的 PHP 脚本,它们接受一些 POST 参数。

4

1 回答 1

3

如果您只想要一个简单的 JSON API,Express 仍然是一个选项。布局、诱惑和中间件是可选的,您可以使用更简单的功能。

var express = require('express');
var app = express();

app.use(express.bodyParser());
app.post('/', function(req, res) {
  // req.body is an object with POST parameters

  // respond with JSON
  res.json(200, { data: 'payload' })

  // or show an error
  res.json(500, { error: 'message' });
});

app.listen(80);

这是可用的最简单的解决方案之一。除非你想自己做请求体解析,检查HTTP请求方法,其他事情,那么你可以创建自己的服务器。那看起来更像这样:

var http = require('http');
http.createServer(function(request, response) {
  if (request.method === 'POST') {
    var data = '';

    request.on('data', function(chunk) {
      data += chunk;
    });

    request.on('end', function() {
      // parse the data
    });
  }
}).listen(80);

像这样的方法还需要检查路径以及其他将在 Express 中自动处理的事情。

于 2013-09-16T03:44:50.577 回答