迁移到Parse-Server后解析REST-API的问题

时间:2017-01-20 10:09:17

标签: rest ubuntu parse-platform debian digital-ocean

我正在尝试将Parse服务器迁移到Debian服务器,但我遇到了REST-API的问题。当我尝试调用应用程序的登录功能时,收到以下错误:Cannot POST /parse/login

这些是我在收到服务器错误之前成功遵循的步骤。

  1. 在Debian中安装Parse-Server
  2. 安装了云代码并将我的代码添加到文件main.js
  3. 我的云代码包含登录功能,我与curl -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'serverName/parse/functions/login'成功通话。
  4. 最后一步是调用REST-API,它给出了Cannot POST /parse/login错误。我用curl -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'serverName/parse/login'
  5. 打电话给它

    This是我遵循的迁移指南 This是我遵循的REST-API指南。

    有人可以帮我解决此服务器错误吗?

2 个答案:

答案 0 :(得分:1)

正确。登录需要GET方法而不是POST

通过对GET执行简单URL,您应该会看到以下错误。显然你需要通过你的参数才能使它成功。

 {
        "code": 200,
        "error": "username is required."
    }

删除-d '{}'会将curl还原为GET

答案 1 :(得分:1)

这个答案是我能用所提供信息做的最佳照片。问题很可能是应用程序期望GET请求(或除POST之外的其他一些HTTP方法),但您的curl请求会发送POST请求。

要查看curl发送的内容,您可以添加-v(我输入example.com只是为了让服务器响应)

$ curl -v -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'example.com/serverName/parse/login'
*   Trying 2606:2800:220:1:248:1893:25c8:1946...
* TCP_NODELAY set
* Connected to example.com (2606:2800:220:1:248:1893:25c8:1946) port 80 (#0)
> POST /serverName/parse/login HTTP/1.1
> Host: example.com
> User-Agent: curl/7.51.0
> Accept: */*
> X-Parse-Application-Id: <id1>
> Content-Type: application/json
> Content-Length: 2

login function in the API guide需要GET请求:

  

为此,请使用用户名和密码作为URL编码参数向/ 1 / login端点发送GET请求:

我认为迁移时您还升级到较新的parse.com应用,旧版本接受POST而新版本则不接受。{/ p>

您需要更改curl请求才能使用GET而不是POST。只需关注the example provided即可。删除-d参数并添加--data-urlencode参数