LoginSignup
0
0

Rails HTTPメソッドとREST APIについて

Last updated at Posted at 2021-09-03

HTTPメソッドとは

クライアントからサーバーにこういうことをやりたいと伝えるためのものです。

⚫︎どういうことを伝えるのか

ex)
このデータを消してくれ 更新してくれ、そのデータをよこせと
お願いをします。これがメソッド(HTtPメソッドリクエスト)です。

クライアントとサーバーについては

から参照してください。

よくHTTPメソッドの種類

よく使うHTTPメソッドは4つです。

メソッド
GET
POST
PUT
DELETE

それぞれ見ていきましょう。

1 GET
データ(リソースの取得)
例えば webページやAPIのデータをよこせみたいなお願いの時使います。

2 POST
データの送信
主に新規作成をしろとお願いをする時に使います。
例えば新しくアカウントを作る時やブログを新規で投稿するときです。

3 PUT
データの送信
主に
すでにあるデータを更新する時に使います。***
例えば記事の更新や編集する時に使います。

4 DELETE
データの削除
上の説明だけでわかりますよね。
例えば アカウント削除など削除関連はDELETEを使います。

いろいろなHTTPメソッド

上の4つはよく使うものですが他にもあるみたいです。
ここは参考記事の
https://qiita.com/fukuma_biz/items/a9e8d18467fe3e04068e
から引用します。

HEAD リソースのヘッダ (メタデータの取得)
OPTIONS リソースがサポートしているメソッドの取得
TRACE プロキシ動作の確認
CONNECT プロキシ動作のトンネル接続への変更
LINK ちょっくらそのURLとこっちのリソースをくっつけさせてね
UNLINK 「LINK」を解除するよ~
PATCH ちょっくら、データの一部を変えさせて

⚫︎ちなみにプロキシとは?
クライアントからサーバーにリクエストまたはレスポンスを返すときに
クライアントとサーバーの間にある両者の中継地点に当たるのがプロキシサーバーです。

⚫︎プロキシサーバーの役割は?
下の記事の言葉を借りると、
会社の社内ネットワークでインターネット接続をするときに、
コンピューターウイルスや不正アクセスなどのトラブルがあった時に、
それらから自分たちが使うネットワークを守ってくれる役割があります。

プロキシについて詳しくはこちらから
https://cybersecurity-jp.com/column/32171

REST API(RESTful API)について

REST APIは上のよく使う4つのHTTPメソッドを使ってAPIで実装することです。
今回はstaffを例にします。

今回のAPIのURLは/staffs/:idを基本に説明します。

1 GET/staffs/1
これはGET/staffs/1でリクエストをするとスタッフIDの1の人の情報を返してくれます。

2 POST/staffs
これは新規作成で使うのので/1はつきません。新規作成された後にidが付くからです。

3 PUT/staffs/1
PUT/staffs/1をリクエストする時、staff名も一緒にサーバーに送ると、
スタッフIDが1のスタッフの名前を更新できます。
またセキュリティとしてスタッフIDが1のスタッフがログインしていないと
処理が行えないようにしています。

4 DElETE/staffs/1
削除したいstaffのIDがわかっているのでデータを送ることはしません。
スタッフIDが1の人しか削除できないようにしています。

⚫︎補足
もちろんIDはデータに入っている数に夜ので数字は1以外もできます。

REST API(RESTful API)とは

URLは同じだが、HTTPメソッドが変わると処理を切り替えられます。
これができるAPIのことが REST APIです。

記事を結構引用「してしまいましたがREST APIの定義はかなり広いみたいなので
いろいろ調べてみてください。

⚫︎参考資料
https://qiita.com/fukuma_biz/items/a9e8d18467fe3e04068e
https://wa3.i-3-i.info/word11405.html
https://tsuyopon.xyz/2019/01/31/understand-4-http-methods/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0