/ api目录在Express应用程序中的来源是什么?

时间:2014-10-28 23:13:31

标签: node.js express

例如:

router.get('/api/todos', function (req, res){
    db.todos.find(function (err, data){
        res.json(data);
    });
});

我很难理解' / api / todos /实际意味着什么。我的应用程序中没有其中一个目录名称。究竟是什么,它在哪里?

2 个答案:

答案 0 :(得分:1)

/api/todos/不引用本地文件,它对应于URL请求。在您提供的功能中,如果您要将此路由添加到快速应用程序然后访问http://localhost/api/todos,服务器将使用您正在进行的数据库查询返回的JSON数据进行响应。

router.get('/api/todos', function (req, res){ 

第一行接受GET的所有/api/todos次请求,并将reqres个对象传递给回调供您使用。有关这些对象的说明,请参阅http://www.murvinlai.com/req-and-res-in-nodejs.html

db.todos.find(function (err, data){ 

这里假设您有一个db对象,可以根据某种输入参数执行数据库查找。

res.json(data);

res.json方法只是将JSON发送回请求它的客户端。

有关快递路由的详细信息,请参阅https://www.packtpub.com/books/content/understanding-express-routes

答案 1 :(得分:0)

那不是目录。这是一个URL。路由器将URL路由到资源。它可以是文件,也可以是其他URL,或者最常见的是它可能是一些生成您想要的响应的javascript逻辑(JSON,XML,HTML,PDF等)。