2016-04-29 121 views
-2

我想在Android移動應用程序中使用ruby on rails後端實現ruby api登錄頁面,因爲我對此很感興趣,請幫助我完成我的任務,並且請告訴我實現API的方式ruby​​ on rails rest api with ruby​​登錄頁面

+0

這不是這樣的。發佈你迄今爲止所做的事情。發佈信息以免你對這項任務有所想法。幫助我們來幫助你。 –

+1

我跟着這個(https://www.airpair.com/ruby-on-rails/posts/building-a-restful-api-in-a-rails-application)鏈接創建api的紅寶石語言 – Jass

+1

this(https ://www.airpair.com/ruby-on-rails/posts/building-a-restful-api-in-a-rails-application)鏈接僅包含關於控制器的想法,我沒有獲取有關視圖和數據庫的信息 – Jass

回答

3

首先,在這個問題上沒有任何意義 - 他是新的紅寶石,我們可以幫助他。

步驟1:爲了製作一個API,你必須處理控制器和模型,沒有API的視圖。步驟2:由於您是rails中的新手,請閱讀關於rails路由的內容,讓我給您一個簡要的想法,路由器簡單地決定請求是否發生在控制器和哪個動作應該觸發的url上。

第3步:一旦您在控制器中的動作是觸發器,您可以編寫自己的邏輯或調用模型中的方法。

步驟4:從模型完成CRUD操作後,將響應返回給控制器。

第5步:根據客戶需要的格式天氣xmljson將其編碼在xml/json並從控制器中呈現它。

反黑組吧:)希望它可以幫助你

+0

感謝@ashwini,現在我對它有所瞭解。當然,我的應用程序的API以正確的方式進行,正如你告訴我的有關路由和控制器。 – Jass

1

我不想引用偉大的思想家,但得到的答覆是:這要看!

您可以去它的簡單和使用基本身份驗證爲您的應用程序,或者你可以去使用其它技術,如JWT(JSON網絡令牌)或OAuth的或諸如此類的更加複雜的道路......

我假設你剛剛開始web開發,所以我建議你通過使用BASIC AUTH(通過一些https連接)開始簡單。

對於Rails的一部分,你只是包括在控制器中的以下指令你想保護:

http_basic_authenticate_with name: "username", password: "secret", except: :index 

因此,一個簡單的控制器是這樣的:

class PostsController < ApplicationController 
    http_basic_authenticate_with name: "dhh", password: "secret", except: :index 

    def index 
    render plain: "Everyone can see me!" 
    end 

    def edit 
    render plain: "I'm only accessible if you know the password" 
    end 
end 

這個例子是直接從複製這裏: http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Basic.html

在客戶端,您需要提供基本身份驗證憑據HTTP標頭是這樣的:

"Authorization: Basic dXNlcm5hbWU6c2VjcmV0" 

使用BASE64編碼類似這樣的用戶名和密碼(在JavaScript):

encoded = btoa(username + ":" + password); 

的基礎知識是這裏介紹: https://en.wikipedia.org/wiki/Basic_access_authentication

從那裏,你可以去並實現一個簡單的用戶名/密碼屏幕,並在隨後的所有調用中提供如此生成的頭文件。

我希望這能讓您開始正確的方向。不要回避詢問並繼續學習!

最後,您可能想要轉向更復雜的基於訪問令牌的身份驗證方法。

最好的問候, Steviee