簡體   English   中英

遷移到Parse-Server后解析中的REST-API問題

[英]Issues with REST-API in parse after migrating to Parse-Server

我正在嘗試將解析服務器遷移到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'稱呼它

是遷移指南我都遵循是REST的API引導我跟隨。

有人可以幫助我解決此服務器錯誤嗎?

正確。 登錄要求使用GET方法而不是POST

通過對該URL進行簡單的GET ,然后應該向您顯示以下錯誤。 顯然,您需要傳遞自己的參數才能使其成功。

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

刪除-d '{}'會將curl恢復為GET

這個答案是我所提供信息的最佳解決方案。 問題很可能是應用程序期望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

API指南中登錄功能需要GET請求:

為此,請將GET請求發送到/ 1 / login端點,並使用用戶名和密碼作為URL編碼參數:

我認為,隨着遷移,您還將升級到新的parse.com應用程序,而較舊的版本接受POST ,而新版本則不接受。

您需要將curl請求更改為使用GET而不是POST 只需按照提供的示例進行操作即可 刪除-d參數並添加--data-urlencode參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM