springboot

SpringBootでPostの処理に@RequestBodyを付ける理由

2019年12月3日

SpringBootを使っているとpostの処理をする時に@RequestBodyをつけることも多いです。

ある意味「お作法」のようになってしまっているかもしれませんが今回は@RequestBodyの役割についてまとめます。

 

@RequestBody の役割

 

SpringBootを学習している方なら一度は@RequestBodyとは何か調べたことがあると思います。

(んなもん生まれたときから知ってるとか、調べるまでもないという方はそっとこのページを閉じましょう)

ちなみに僕も@RequesrBodyってどんな意味があるんだろうと思って調べていました。

 

大抵の記事には「クライアントから送られてくる値を受け取る為のアノテーション」のようなことが書いてありますよね。

 

でも過去の僕は混乱していました。

postって投稿だよな、、なのになんで急に送られてくる値を受け取る話になってるの、、?

 

こんな風に悩んだのは僕だけでないと信じています。

 

PostなのになぜRequestBodyが必要なのか

 

postで投稿するのになぜ、送られる値を受け取るためのアノテーションを付けるのか。

このように混乱するのは投稿する側も、受け取る側も「同じ」だと無意識に思ってしまっているからです。

大前提としてPOSTするのはユーザーです。

 

そしてPOSTされたデータを受け取るのはSpringBootアプリケーションです。

結論からいうとPostの際に@RequestBodyを付けるのは受け取る側のための作業です。

@RequestBodyは簡単に例えるなら「取扱説明書」です。

もしあなたが新機能搭載のマシンをもらっても取扱説明書がなければ使いこなすのは難しいですよね。

@RequestBodyはPost(投稿)された内容を受け取る際の取扱方法を指定しているのです。

 

@RequestBodyを受け取るのはだれ?

 

@RequestBodyのついた内容を受け取るのはずばりSpringbootAplication本体です。

ちなみに@RequestBodyをつけることでjson形式で受け取ってね!と伝えることができます。

 

コードを書くあなたは建築家です。

A君が入り口からやってくる時は丁寧に対応するように創る家に仕組みを作るようなものです。

まとめ

postの処理を書く時は「投稿する時」よりも「外部から投稿される時」ということをイメージすると非常にいいと思います。

 

JSONとは

JSONとはJavaScript Object Notationの略です。

JSONはテキストベースのデータフォーマットとしての役割を果たします。

 

あなた
テキストベースのデータフォーマット?
てんし君
そうそう。わかりやすく説明するね

 

実はデータは誰でも勝手に使えるというわけではありません

プログラミングにおいてデータというのは扱い方が決まっています

そのように決める理由としては

・誰が書いてもわかるようにするため

・機会が判別できるようにするため

です。

就職活動を行う時、履歴書を書くと思います。

少しの差異はあれども記入しなければならならい欄はどの履歴書でも共通ですよね。

 

データフォーマットはデータをやりとりする際の履歴書のようなものだと思っておいてください。JSONはデータフォーマットの一種です。

 

まとめ

JSONはデータをやり取りする時のフォーマット

プログラミングスクールに関する情報

【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
【転職保証つき】返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。   1位:DMMWEBキャンプ  【 ...

続きを見る

wordpress
【無料あり】WEB制作を学べるオンラインスクールランキング【副業で稼ぎたい方向け】

  あなたWeb制作の副業で稼ぎたいけど、どのスクールで学ぶのが良いの? スクール選びで失敗はしたくないです。   ↑このような疑問や不安を解決するべく、現役のWebエンジニアがWEB制作を学べるスク ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   結論から話すと、WEB系自社開発に行きやすいスクールのランキングは以下の通り。   第1位:テックアカデミー ...

続きを見る

-springboot

© 2024 エンジニアてんし君ブログ