我已经构建了一个与Android应用程序交互的rails应用程序。在localhost上从android发送和接收数据是完美无缺的。但是当我上传到AWS EC2实例时,我只能将数据从android发送到服务器,而不是相反。
我正在使用乘客宝石在AWS上传。
我的rails代码接受来自应用程序的请求,提供200 OK
class Android::OnetimeloginController < ApplicationController
respond_to :json
# This handles one time login from the android app
def create
# Takes up the credentials from the android app and
# sends the header token to be used for further pings
credentials = permitted_credentials
# Checks the credentials and renders the responses
if credentials.has_key?("name")
if Branch.exists?(name: credentials["something"]) && credentials["password"] == "something"
response_json = {"response" => "Yes"}
render :json => response_json
else
render :text => "NO"
end
end
end
private
def permitted_credentials
params.require("credentials").permit(:name, :password, :tablet_id)
end
end
但是我没有在android端获得任何东西(虽然我在localhost中得到了响应)
我甚至得到了对我的CURL请求的回复。 我的卷发命令。
curl -v -H "Content-type: application/json" -X POST -d ' {"credentials":{"name" : "something", "password": "something"}}' http://IP/path_to_controller
我检查了来自android请求的“Content-type”和“Accept”标题,但没有用。
请告诉我哪里出错了?这是一个AWS问题吗?
答案 0 :(得分:2)
我有同样的错误。它对rails脚本没有问题。我认为你使用的排球框架可能已经腐败或有缺陷。尝试使用gradle从任何其他来源导入库。尝试从mcxiaoke.volley导入。它对我有用....