Postmanでpostリクエストが送れなくて泣いた男の話
Railsでapiモードを使い始めてpostmanを利用するようになりましたが、利用してからまだ3日と非常に日が浅く、しょーもないことでハマってしまいました。同じような人を出さないためにここに書き残そうと思います。ちなみにほんとに泣いてはいません。
環境
Rails 6.1.3
はじめに
結論から言います。自分の場合はjson形式にせずにtext形式で送っていたことがハマった原因
でした。これを見て思い当たる節がある人は今すぐtext形式からjson形式に変えて送ってみましょう。ね、しょうもないでしょ?
やりたかったこと
postmanでpostリクエストを送ってcontactインスタンスを保存しようとしました。
contacts_controller.rb
class V1::ContactsController < ApplicationController
.
.
def create
@contact = Contact.new(contact_params)
@contact.save
render json: @contact, status: :created
end
.
.
private
def contact_params
params.require(:contact).permit(:first_name, :last_name, :email)
end
end
routes.rb
Rails.application.routes.draw do
namespace :v1 do
resources :contacts
end
end
これでhttp://localhost:3000/v1/contactsのpostにデータを送れば保存されるはずでした。
Postリクエスト失敗
Postmanで以下の形式でPostリクエストを送ることを試みます。
{
"contact": {
"email": "[email protected]",
"first_name": "hoge",
"last_name": "foo"
}
}
あれ?
エラーが出てる...
解決
text形式からjson形式に変更すれば解決できました!
おわりに
こんなので一日費やしてしまいました...。ちゃんと形式は確認しようね。おわり
Author And Source
この問題について(Postmanでpostリクエストが送れなくて泣いた男の話), 我々は、より多くの情報をここで見つけました https://qiita.com/Ken-i/items/b65b03f2271c1c54f36a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .