JJD*_*JJD 13 arrays rest post curl ruby-on-rails
我喜欢测试API后端,其设计如下例所示:
http://localhost:3000/api/v1/shops/1.json
Run Code Online (Sandbox Code Playgroud)
JSON响应:
{
id: 1,
name: "Supermarket",
products: [
"fruit",
"eggs"
]
}
Run Code Online (Sandbox Code Playgroud)
这是相应的型号:
# app/models/shop.rb
class Shop < ActiveRecord::Base
extend Enumerize
attr_accessible :name, :products
serialize :products, Array
enumerize :products, in: %w{fruit meat eggs}, multiple: true
resourcify
validates :name, presence: true, length: { in: 5..50 }
validates :products, presence: true
end
Run Code Online (Sandbox Code Playgroud)
我想使用curl来测试创建和更新条目.因此,我使用以下命令:
创建:
$ curl -X POST http://localhost:3000/api/v1/shops.json -d \
"shop[name]=Supermarket&shop[products]=fruit,eggs&auth_token=a1b2c3d4"
Run Code Online (Sandbox Code Playgroud)
更新:
$ curl -X PUT http://localhost:3000/api/v1/shops/1.json -d \
"shop[name]=Supermarket&&shop[products]=fruit,eggs&auth_token=a1b2c3d4"
Run Code Online (Sandbox Code Playgroud)
products需要作为数组提交的值.当我运行上面的命令时,返回以下消息:
{"errors":{"products":["is invalid"]}
Run Code Online (Sandbox Code Playgroud)
我如何编写products数组的值,以便它与curl一起使用?
Mik*_*del 16
$ curl -X POST http://localhost:3000/api/v1/shops.json -d \
"shop[name]=Supermarket \
&shop[products][]=fruit \
&shop[products][]=eggs \
&auth_token=a1b2c3d4"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15907 次 |
| 最近记录: |