1

モバイルアプリが呼び出そうとしているRailsアプリケーションがあります。次のコマンドでcurlを介してAPIをテストしてみましたが、動作します。

curl -d "user[name]=bob&user[email]=bob0814@example.com&user[password]=password&user[company_name]=hydra" linktomyapi

ここで、次のコマンドを実行してみました。これは、モバイル アプリを介してパラメーターを送信するときに、すべてのネットワーク呼び出しにAFNetworkingを使用しているため、パラメーターを JSON 形式で送信するためです。以下を参照してください。これは機能しません。

curl -v -d '{"user[name]": "bob","user[email]": "bob@gmail.com","user[password]": "password","user[company_name]": "rs"}' linktoMyApi

この違いがなぜなのか、私はかなり混乱していますか?誰でもアイデアを提案できますか?

4

1 に答える 1

2

Railsがjsonを話していることを理解できるように、application/json Content-Typeを渡す必要があります。

curl オプションに追加します。-H 'Content-Type:application/json'

さらに、でパラメータにアクセスする場合params[:user]は、json オブジェクト「user」を使用してすべての値を保持する必要があります。

{"user" : {"name": "bob", "email": "bob@gmail.com", "password": "password", "company_name": "rs"}}
于 2013-08-19T11:43:53.987 に答える