[英]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.