현재 Rails 백엔드 용 Android 앱을 제작 중입니다.RESTful RAILS 및 Android HttpRequests
사용자가 HttpPost를 사용하여 Android에서 로그인하고 Rails 사용자 테이블과 Android 공유 환경 설정에 토큰을 저장할 때 api_tokens를 생성하기 위해 api_tokens_controller를 만들었습니다. 나는 이것을 검증 할 수 있었다.
내가 PARAMS로 api_token을 보내려고하고 있어요 [: api_token]의 초기 로그인하면 모든 후속 요청 내 안드로이드 응용 프로그램에서하고있는 레일 확인 :
User.rb에서:
def self.authenticate_with_api_token(api_token_from_mobile)
user = find_by_api_token(api_token_from_mobile)
if user.nil?
return nil
else
return user
end
end
사용자가 있으면 JSONObject로 다른 데이터를 보냅니다.
여기서 개념적으로 문제가 있습니다. 나는 이제 Android 앱을 ... : 3000/사용자 및 JSONObjects로 HttpGet 사용자 데이터로 이동하려고합니다. 문제는 HttpGet의 Android 앱에서 api_token을 Rails로 보내는 방법을 모른다는 것입니다. RESTful이기 때문에 HttpRequests는 레일스 경로가 작동하는 방식과 일치해야한다고 가정합니다.
질문 :
가 PARAMS의 된 JSONObject에 보낼 수 있나요 [: api_token] HttpGet에서 레일에 안드로이드 응용 프로그램에서?
내 HttpRequests가 Railsful Rails 방식과 일치해야합니까, 아니면 HttpPost 만 사용할 수 있습니까?
덕분에 나는, GET을 사용하는 경우 다음 그냥 URL 매개 변수로에 API 토큰을 추가하려면, 제대로 이해하면
안녕하세요, 귀하의 답변에 감사드립니다. 모바일 앱을 사용하면 데이터 (api_token)를 보내고 요청할 때마다 데이터를 받아야합니다. 나는 HttpPost를 사용하여 로그인 정보를 보내고 apitokenscontroller가 동작을 생성 할 때 동시에 레일스 끝에서 api_token을 수신 할 수있었습니다. 나는이 api_token과 함께 userscontroller에 가서 검증을 위해 그것을 보내고 하나의 요청으로 모든 데이터를 리턴하려고 노력하고있다. 내 문제는 레일스 라우트가 HTTP 요청 (GET, POST, PUT 등) 및 라우트 (/ users, users/1 등) 유형이 동작을 결정하는 곳에서 작동하는 방식입니다. – railslearner
안녕하세요 톰, 저는 그것에 대해 더 많이 읽었으며 당신의 대답이 그럴 것 같아요. RESTful 경로를 사용하기 때문에 URL 매개 변수를 이해하는 데 문제가 있습니다. HttpPost는 URL에서 아무 것도 변경하지 않고 params []를 보낼 수있게 해 주었고, HttpGet도 이와 비슷한 것을 가져야한다고 생각했습니다. 하지만, URL을 통해서만 매개 변수를 전송할 수 있고 ... : 3000/users.json? api_token = token이라면 레일스 측 (UsersController의 인덱스에서)에 params [: api_token]가 지정되어 있어야합니까? 기대 되는가? 감사합니다 – railslearner
이 작품을 확인했습니다 – railslearner