簡體   English   中英

Rails API和強大的PARAMS

[英]Rails API and Strong PARAMS

我正在嘗試創建一個API以使用rails-api gem創建記錄Foo。

最初,我運行generator命令告訴Rails為我創建一個控制器,它創建了以下代碼:

def create
    @foo = Foo.new(foo_params)
    @foo.save
    respond_with(@foo)
end

這(強參數):

def foo_params
  params.require(:foo).permit(:bar)
end

這是非常標准的東西,並且在使用form_for將數據提交到create方法時將起作用。

就我而言,我正在創建一個僅通過外部API調用進行交互的獨立API Web服務。 因此,我遇到的問題是我不知道如何通過API發布:bar參數。 我嘗試發布:bar參數,但這導致“參數缺失或值為空:foo”錯誤。 我知道為什么會這樣,但是我不知道該如何解決...

有沒有更好的方法可以做到這一點,還是應該以其他方式提供api參數?

PS。 目前,我的api POST調用如下所示:

http://localhost:3000/api/v1/foo.json?bar=test@mail.com

您不能對POST HTTP請求使用網址末尾的?+參數,僅對GET請求使用。

您必須使用未嵌入在URL中的HTTP調用的數據組件

因此,您不能僅從瀏覽器地址欄上進行此操作,而必須使用curl或出色的工具作為Postman(在chrome App Store中免費使用),並且在此數據字段中,您可以包含要發布的對象(postman為您提供了整齊的鍵值接口)

如果需要在curl函數上進行命令行調用的更多詳細信息,請告訴我,但是我建議您使用一個不錯的工具作為Postman,如果您不習慣這些調用,那么它很有用。

編輯:這是獲取郵遞員的URL: https : //www.getpostman.com

暫無
暫無

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

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