0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事は東京海洋大学NePPの Advent Calendar 2024の23日目です。

はじめに

こんにちは!
私がRailsのステータスコードとRails特有のシンボルについて学んだことのアウトプットの機会としてこの記事を書きました。

あくまで個人的な見解ですので、あしからずご容赦ください。

HTTPステータスコードとは

WEBサーバーがWEBブラウザなどのクライアントからのリクエストに対する応答として示す3桁の数字です。これにより、リクエストが成功したか、エラーが発生したか、または追加の操作が必要かをクライアントに通知します。

なぜHTTPステータスコードのお気持ち

ステータスコードは、人間にリクエストの状況を伝える「お知らせ」のようなものです。
それぞれのステータスコードには、クライアントやサーバーに対する「状態の伝達」と「適切な対応を促すメッセージ」が込められています。
例えば:
403 : アクセス権がない。
404 : リクエストされたリソースが見つからない。
など、これらが返されたら、ユーザーは「アクセス権がないんだな!」や「リクエストしたURLが見つからないんだ」と現在の状況を判断することができます。
そして次のアクションをとることができます。(アクセス権を手に入れてからもう一度リクエストしてみよう!とか)

数値とシンボルについて

Railsでは、HTTPステータスコード(例: 200, 404,)を直接数値で書く代わりに、シンボル(例: :ok, :not_found,) で指定することができます。

シンボル (:ok) と数値 (200) の違い

:ok

可読性が高い
シンボルを使うと、コードを読むだけで意味が直感的に理解できます。

render json: user, status: :ok

Railsが内部的にシンボルを対応する数値コード(ここでは200)に変換します。

200

標準的なHTTPステータスコード:
HTTPの知識がある人には直接的にわかりやすい。

render json: user, status: 200

どちらを使うべきか

筆者の見解

個人的な意見としては、シンボルを使うべきだと思います。
理由は、文字を見ればある程度何についてのエラーなのかがわかるのと、Railsのコードスタイルに適しているからです。

しかし、標準的なステータスコードを使いたかったり、プロジェクトによって書き方は異なるので、
その時の状況次第で使い分けができるのがベストだと思います。

終わり

最後にシンボルと数値の早見表のリンクを貼ったので参考にしてみてください。

@takuo_maeda
(前田 卓大)さん
HTTPステータスコード一覧

参考文献
https://qiita.com/takuo_maeda/items/9cff0b03e74f8f600eee
https://qiita.com/terufumi1122/items/997e24dde87f807e3944

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?