3

私は過去4時間この問題に苦しんでいます。引数なしでPOSTリクエスト(body = "{}")を送信すると、406HTTPステータスエラーコードで応答が返されます。

私のコントローラーはとてもシンプルに見えます

def resetFixture

    respond_to do |format|
      format.json { render :json=>final_obj, :status=>:ok}
    end
  end

ルート:

match 'TESTAPI/resetFixture' => 'users#resetFixture', :via => :post

「{errCode:1}」でJSON応答を返そうとしています

-d ""を使用してcurlリクエストを実行すると、必要な応答が得られますが、このエラーコードを修正するにはどうすればよいですか?すでにJSONとステータスを指定しているようです。

失敗したリクエストのサーバーからのデバッグログも含めた方が直感的かもしれません。

4

1 に答える 1

2

resetFixture.jsonをリクエストできないため、リクエストに次のヘッダーを追加する必要があります。

Accept: application/json

これにより、JSONを戻したいことがレールに通知されます。

次の引数を追加することで、curlを使用してこれをテストできます。-H "Accept: application/json"

または、Railsを常にデフォルトでJSONに設定する場合は、ルートを次のように変更できます。

match 'TESTAPI/resetFixture' => 'users#resetFixture', :via => :post, :defaults => { :format => 'json' }

于 2013-02-11T19:20:55.090 に答える