node.js - 从Android调用节点REST服务

  显示原文与译文双语对照的内容

我已经写了一个REST的方法,如我的其他问题的答案所描述的。

当使用curl命令post服务按预期工作时


curl -X POST -H"Content-Type: application/json" -d '{"username":Tom,"mail":"xyz@123.com"}' http://localhost:3080/accounts/put/

现在我已经在VPS中托管了节点应用程序,这样可以通过互联网访问它。 其他获取服务是可以访问的,并正确填充数据。

如果我尝试执行相同的curl命令,它会抛出如下错误


curl -X POST -H"Content-Type: application/json" -d '{"username":Tom,"mail":"xyz@123.com"}' http://MyServerIP:3080/accounts/put/

错误是


 Cannot call method 'insert' of undefined
 at Object.app.get.db.collection.find.accounts [as handle] (/home/balaaagi/nodeapps/meanservice/server.js:62:18)
at next_layer (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/route.js:103:13)
 at Route.dispatch (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/route.js:107:5)
 at c (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:195:24)
 at param (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:268:14)
 at param (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:280:16)
 at Function.proto.process_params (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:296:3)
 at next (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:189:19)
 at next (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:166:38)
 at next (/home/balaaagi/nodeapps/meanservice/node_modules/express/lib/router/index.js:166:38)

当我尝试调用来自Android应用程序的帖子时,我也面临类似的错误 EntityUtils.toString(resp.getEntity()) 我的JSON对象没有被传递/我的服务在VPS中的托管错误?

时间: 作者:

因为每次修改 server.js 时,本地主机curl命令都是成功的,所以我重新。 在我的VPS中,我一直在运行节点 continuosly 。 在部署最新的server.js 到我的VPS时我错过了重启节点。 因此这个问题是因为它引用了旧代码。

在VPS中使用 killall node 杀死所有节点,在服务器中杀死所有名为节点的任务。 然后永远重启我的节点。 REST帖子既从 curl,也从我的Android 应用 。 交叉检查数据库成功插入数据时使用 DB 。

作者:
...