Node.js 无法使用RESTIFY从REST API返回JSON
我是Node.js的新手。我正在尝试创建一个web服务器,它将1提供静态html网页,2提供基本的JSON/RESTAPI。我的管理层告诉我,我必须使用RESTIFY,我不知道为什么。目前,我有以下几点:Node.js 无法使用RESTIFY从REST API返回JSON,node.js,restify,Node.js,Restify,我是Node.js的新手。我正在尝试创建一个web服务器,它将1提供静态html网页,2提供基本的JSON/RESTAPI。我的管理层告诉我,我必须使用RESTIFY,我不知道为什么。目前,我有以下几点: var restify = require('restify'); var fs = require('fs'); var mime = require('mime'); var ecstatic = require('ecstatic'); var ws = restify.createS
var restify = require('restify');
var fs = require('fs');
var mime = require('mime');
var ecstatic = require('ecstatic');
var ws = restify.createServer({
name: 'site',
version: '0.2.0'
});
ws.use(restify.acceptParser(server.acceptable));
ws.use(restify.queryParser());
ws.use(restify.bodyParser());
ws.use(ecstatic({ root: __dirname + '/' }));
ws.get('/rest/customers', findCustomers);
ws.get('/', ecstatic({ root:__dirname }));
ws.get(/^\/([a-zA-0-9_\.~-]+\/(.*)/, ecstatic({ root:__dirname }));
server.listen(90, function() {
console.log('%s running on %s', server.name, server.url);
});
function findCustomers() {
var customers = [
{ name: 'Felix Jones', gender:'M' },
{ name: 'Sam Wilson', gender:'M' },
{ name: 'Bridget Fonda', gender:'F'}
];
return customers;
}
在我启动web服务器并尝试访问http://localhost:90/rest/customers/ 在我的浏览器中,会发出请求。然而,它只是坐在那里,我似乎从来没有得到回应。我使用Fiddler来监控流量,结果长时间保持为“-”
如何从此类REST调用返回一些JSON
谢谢从未使用过摇头丸,但我认为您不需要为静态内容使用文件服务器,因为您运行了restify并返回json
您没有收到响应,因为您没有以res.send终止
下面的代码看起来不错
ws.get'/rest/customers',findCustomers
但是试着像这样改变findCustomers函数
function findCustomers(req,res,next) {
var customers = [
{ name: 'Felix Jones', gender:'M' },
{ name: 'Sam Wilson', gender:'M' },
{ name: 'Bridget Fonda', gender:'F'}
];
res.send(200,JSON.stringify(customers));
}
2017年,实现这一目标的现代方式是:
server.get('/rest/customer', (req,res) => {
let customer = {
data: 'sample value'
};
res.json(customer);
});
或者只是回复客户。