我是node.js的初学者,但我尝试了更多的在node + express js.中开始构build一个结构。我开始使用前端和独立的API结构。我把API和前面的一个app.js – 结束,但我的API不工作。 它给错误当我打电话给http:// localhost:3000 / api /用户时,不能GET / api /用户 。 请帮忙 api -controllers -helpers -middlewares -models -routes.js app.js controllers helpers middlewares models node_modules package.json public views app.js var express = require('express') , app = express() , bodyParser = require('body-parser') , port = process.env.PORT || 3000 var path = require('path'); app.set('views', […]
我正在restapi。 我有多个可选参数。 这是我采取的解决scheme,但有没有另一种解决scheme? 该url可以 www.myurl.com/ 要么 www.myurl.com/faqid/22 要么 www.myurl.com/faqid/22/locale/english 这是我的实现 var getFaq = (req, res) => { let faqDetails = FAQ.map(obj => obj);//it is a mock json for now faqDetails = req.params.faqid ? faqDetails.filter(obj => obj.id == req.params.faqid) : faqDetails; faqDetails = req.params.topic ? faqDetails.filter(obj => obj.topic == req.params.topic) : faqDetails; return res.status(200).send(faqDetails); } router.get('/:faqid/topic/:topic', […]
我可以用XML作为响应来创buildREST API吗? 我知道如何创build和返回JSON作为响应,但不确定XML
我设立了几个用express来做某些事情的端点。 现在理想情况下,我想从节点应用程序中调用它们来处理一些数据。 有没有办法从节点实例中自己调用apis?
我是新来的RESTful API,我已经成功地实现了我的API的GET和DELETE命令(GET本地主机:4000 / api,邮递员上的DELETE localhost:4000 / api工作正常)。 我的get代码如下所示: router.get('/', function(req, res) { user.find({}, function(err, users) { if(err){ res.status(404).send({ message: err, data: [] }); } else { res.status(200).send({ message: 'OK', data: users }); } }); }); 现在我想实现使用参数。 例如,我想实现类似sorting的地方 http:// localhost / 4000 / api / users?sort = {“name”:1}(1-升序; -1 – 降序) 将意味着按升序sorting名称。 我不知道该怎么做是: 我该如何使这种“sorting”工作? 如何select要sorting的字段? 请帮忙!
我使用node.js作为REST API。 有以下可用的操作: /联系人,GET,查找所有联系人 /联系人,POST,创build新的联系人 / contacts /:id,GET,通过它的id显示或获取指定的联系人 / contacts /:id,PUT,更新一个特定的联系人 / contacts /:id,DELETE,删除特定的联系人 什么现在将是一个逻辑路由search,在用户后查询? 我应该把这个到3路线,还是我应该创build一个额外的路线?
我已经看到了Restify的例子,其中所有的端点位于root:/ users,/ data等。我知道可以像这样实现嵌套: server.get('/users/:user/data/:id', returnData); 而req.paramsvariables将具有所有的请求参数。 例: { user: '45', id: '80' } 这似乎工作正常,如果我的应用程序有几个端点,但如果我有一个深度和分支的数据结构,我想通过REST API公开? 就像是: { stuff: { points: { colors: { shinyThings: {}, dullThings: {} } }, ships: { enterprises: {}, starDestroyers: {} } }, things: {}, } 不得不手写所有这些端点的path似乎并不正确。 我结束了很多的path定义和这样的东西: server.put('/stuff/:stuff/points/:points/colors/:colors/shinyThings/:shinyThings', returnShinyThing); Restify有没有更简单的方法?
我需要在node.js中创build一个简单的基于rest的web服务,我已经知道如何使用已经暴露的。我使用http模块。关于如何创build一个web服务的任何build议将是非常有用的
我正在发送XML请求数据到我的node.js服务器。 服务器被设置为接受post,并且已经通过CURL运行testing而没有问题。 现在我试图通过来自多个REST客户端的POST请求,并通过Chrome浏览器中的一个名为Postman的插件获取相同的数据。 最终目标是在EXE文件启动时接收数据到服务器。 我遇到的问题是,XML数据似乎进来,停在1439个字符(总字符接近3900)。 然后它会收到完整的3900个字符。 问题是XMLparsing器将这看作是一个糟糕的XML文档,因为前1439个字符正在消除语法。 我继续testing,但不明白为什么发送了1439个字符,然后跟随了3900个字符。 此外,这似乎并不总是发生。 我已经从这些来源连续多次testing,这种行为似乎只是随机发生。 我正在使用的完整代码如下所示。 http.createServer(function (req, res) { if(req.method=='POST'){ var body=''; req.on('data', function (data) { body +=data; body = body.toString(); var xmlDoc = libxmljs.parseXml(body)); var status = xmlDoc.get('//Status').text(); var ticket = xmlDoc.get('//Incident_ID').text(); console.log(status + " " + ticket); }); req.on('end', function(){ }); } else if(req.method=='GET'){ var url_parts = […]
我有一个ASP MVC4网站。 本来,大部分的内容是通过控制器服务,如人们所期望的。 我已经将数据存储从SQL Server移动到MongoDB。 我还添加了很多ajax来更新数据客户端,而没有完整的刷新。 这工作正常,但我的控制器现在有很多采取JSON和返回JSON的方法。 我能够构build一个命中数据库的Node.js服务器,并且公开了完全相同的function,而不需要大量的C#。 我的JavaScript客户端现在正在调用Node.js REST API,这很好。 我的'安全'的代码(如添加一个新的用户)从服务器端命中相同的REST API。 我的问题是:我怎样才能妥善处理这个安全? 我有三种情况: GET api / messages:不需要安全性,我想通过Json REST API将我的网站的消息展示给任何感兴趣的人。 GET api / my / messages:我只有在用户login时才允许访问(获取用户的消息)。 POST api / users:这是一个只能从服务器调用的函数,没有别的东西能够使用它。 由于用户已经login到我的ASP网站,我怎样才能使用他们的login凭据来使用我的REST服务进行身份validation? 用户login时,客户端页面会定期点击更新。 有没有明智的/标准的方法来做到这一点? 其核心思想是客户端代码使用至less部分向公众开放的REST API,事实上API提供了我所有的业务逻辑 – 只有部分(如创build用户)被locking到超级pipe理员只。 提前致谢!