设计POST api测试

时间:2014-10-24 14:45:23

标签: ruby-on-rails ruby rspec devise

我正在使用Devise构建用户API函数。 这是referring tutorial

以下是路线:

api_customers_path  POST    /customers(.:format)    api/v1/customers#create {:format=>:json, :subdomain=>"api"}
api_customer_path   GET /customers/:id(.:format)    api/v1/customers#show {:format=>:json, :subdomain=>"api"}
PATCH   /customers/:id(.:format)    api/v1/customers#update {:format=>:json, :subdomain=>"api"}
PUT /customers/:id(.:format)    api/v1/customers#update {:format=>:json, :subdomain=>"api"}
DELETE  /customers/:id(.:format)    api/v1/customers#destroy {:format=>:json, :subdomain=>"api"}
api_sessions_path   POST    /sessions(.:format) api/v1/sessions#create {:format=>:json, :subdomain=>"api"}
api_session_path    DELETE  /sessions/:id(.:format) api/v1/sessions#destroy {:format=>:json, :subdomain=>"api"}

我想知道的是如何测试Create api(POST)。 我尝试使用Postman进行测试,但它会产生意想不到的结果。

POSTMAN screenshot

我的考试有什么问题? 如果我测试GET apis,它的工作正确。

1 个答案:

答案 0 :(得分:0)

您为API提供的参数名称对于由设计生成的用户来说是错误的。他们应该是:

user[email]
user[password]
user[password_confirmation]

此外,您可能需要authenticity_token才能使用此功能。您可以通过在视图中键入它来生成一个来测试您的API。

<%= form_authenticity_token %>
祝你好运!