-
Notifications
You must be signed in to change notification settings - Fork 66
API 请求处理路由
杨捷 edited this page Dec 11, 2013
·
3 revisions
Codekart 已经为你准备好了 api 路由处理方案,你只需要专注实现即可。
比如,我们要添加一个获取文章评论的的api,它返回一个评论列表。请按下面的步骤的添加处理程序:
一. 在app/api
目录下面,添加一个comment.js
文件。
二. 文件的内容如下:
var mysql = require_lib('mysql '); //使用mysql需要另外安装 node-mysql 模块,地址 https://github.com/felixge/node-mysql
exports.get= function(){
var that = this //本地this对象,封装了请求原始对象和常用的方法
, request = that.request //request对象
, response = that.response //response对象
, get = request.get //url的get参数
, post = request.post //请求的post参数
, article_id = get.article_id;
//从数据库获取内容
mysql.query('SELECT * FROM comment WHERE article_id='+article_id,function(err,data){
//调用则向客户端返回数据,并关闭连接
that.renderApi(200,"api is ok !",data);
});
/*
通过调用 this.renderApi() 向客户端返回数据,为json格式的字符串:
{
code: 200, //自定义代码 200位返回正确
msg: "", //消息
data: {} //数据
}
你也可以调用 this.renderJson() 返回其它的 自定义格式的 json 数据
*/
};
三. 重启Node.js,通过浏览器访问http://localhost/api/comment/get?article_id=1
,就能看到数据。
你也可以在app/api/
下面建一个目录article
,然后在article
下面新建文件comment.js
,文件内容相同,然后访问 api 的路径就变成了:http://localhost/api/article/comment/get?article_id=1
,可以建立多级目录。
注意: 所有的 api 处理程序都必须在app/api
目录下,其它目录将无效!(被作为web页面解析)