你的位置:首页 > 软件开发 > Java > Node.js与Sails~自定义的Response响应体

Node.js与Sails~自定义的Response响应体

发布时间:2015-10-14 12:00:07
在Node.js里,你可以控制请求和响应,自己可以定义自己的响应方式,如对文本如何响应,对json如何响应,对图像流如何响应等等,而这些在Sails架构里,变得更加容易和清晰了,它位于项目的api/responses目录下,你可以定义自己的响应体。其实sails为我们封装了一些标 ...

在Node.js里,你可以控制请求和响应,自己可以定义自己的响应方式,如对文本如何响应,对json如何响应,对图像流如何响应等等,而这些在Sails架构里,变得更加容易和清晰了,它位于项目的api/responses目录下,你可以定义自己的响应体。

其实sails为我们封装了一些标准的相应,如view方法,这也就是一种响应体,它可以将文本,json对象渲染到指定的视图上,而我们自己可以效仿它,实现自己的响应体,下面代码是官方给出的一个实例,它的方法名为myResponse,这是sails架构一个定义类模块的方式,即JS文件名不是你的类名,我们在程序里可以通过res.myResponse("你的响应内容")去调用它,具体代码如下

 

/** * api/responses/myResponse.js * * This will be available in controllers as res.myResponse('foo'); */module.exports = function(message) {  var req = this.req;  var res = this.res;  var viewFilePath = 'mySpecialView';  var statusCode = 200;  var result = {    status: statusCode  };  // Optional message  if (message) {    result.message = message;  }  // If the user-agent wants a JSON response, send json  if (req.wantsJSON) {    return res.json(result, result.status);  }  // Set status code and view locals  res.status(result.status);  for (var key in result) {    res.locals[key] = result[key];  }  // And render view  res.render(viewFilePath, result, function (err) {    // If the view doesn't exist, or an error occured, send json    if (err) {      return res.json(result, result.status);    }    // Otherwise, serve the `views/mySpecialView.*` page    res.render(viewFilePath);  });};

原标题:Node.js与Sails~自定义的Response响应体

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。