我有一個 SPA 應用程式,前端使用 reactJS,后端使用 Ruby on Rails;所有導航都通過反應路由器路由。我的問題是,如何使用 react 訪問我的模型?
我認為正確的方法是通過 REST API 公開模型的功能。問題是模型的 REST API 被路由以回傳頁面而不是 JSON 物件。例如,/posts/index 將回傳帖子索引頁面,而不是帖子串列。我需要做的是在用戶輸入“/post/index”時呼叫另一個請求,即從索引組件呼叫請求,以檢索帖子并將它們作為JSON物件回傳。我的作業流程是這樣的:用戶導航到索引頁面 > React 發送 HTTP 請求到訪問服務器。
一種可能的解決方案是實作第二個控制器,稱為 post_react_controller,然后讓該控制器回傳 JSON 資料并通過適當的 url 公開它。這是最佳實踐嗎?
謝謝!
uj5u.com熱心網友回復:
Rails 服務器可以在API-only 模式下運行,這正是您所需要的。您應該能夠繼續使用現有的控制器并讓它們提供 JSON 而不是 HTML。
另一種選擇是將檔案型別附加到您的請求(/post/index.json)中,并修改您的控制器以處理不同的請求格式:
class UsersController < ApplicationController
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.xml { render xml: @users }
format.json { render json: @users }
end
end
end
無論使用哪種方式,您都可能希望使用 gem jbuilder,它為您提供用于構建 JSON 回應的 DSL,類似于您使用 ERB 生成 HTML 的方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/517203.html
上一篇:如何獲取JSON嵌套資料
