REST API


RESTの定義
Representation State Transferは、Representationの略で、リソースの状態を名前で区別して、リソースのすべてのコンテンツを交換することを意味します.
より詳細な概念は、HTTP URI(Uniform Resource Identifier)によってリソースを表し、HTTPメソッド(POST、GET、PUT、DELETE)によってそのリソースにCRUD操作を適用することである.
RESTの長所と短所
長所
  • HTTPプロトコルのインフラストラクチャを採用し、REST APIを使用するためにインフラストラクチャを単独で構築する必要はありません.
  • HTTPプロトコルの標準を最大限に活用し、より多くのメリットを同時に得ることができます.
  • HTTP標準プロトコルに従って、どのプラットフォームでも使用できます.
  • スーパーメディアAPIの汎用性を確保します.
  • REST APIメッセージは意図を明確に表しているので,意図を容易に理解できる.
  • のさまざまなサービス設計で発生する可能性のある問題を低減します.
  • サーバとクライアントの役割を明確に区別します.
  • 短所
  • 規格は存在しません.
  • は4つの方法しか使用できません.
  • サービスが
  • ブラウザで大量のテストを行う必要がある場合、Header値は変更しやすいURLよりも変更しにくい場合があります.
  • の古いブラウザにはサポートできない場所もあります.
  • REST APIルール
  • 小文字を使用します.
    アドレスは大文字と小文字を区別するので、キャメルではなく小文字を使います.
  • [good]
    http://localhost:3000/users/user-profile
    [bad]
    http://localhost:3000/users/userProfile
  • underbar()の代わりにHiven(-)を使用します.
    ハイフンの使用をできるだけ少なくし、正確な意味や表現のために避けられない場合に単語を使う.
  • [good]
    http://localhost:3000/users/user-profile
    [bad]
    http://localhost:3000/users/user_Profile
  • は最後にスラッシュを含まない.
    スラッシュは階層的で、最後に使いません.
  • [good]
    http://localhost:3000/users/user
    [bad]
    http://localhost:3000/users/user/
  • 動作は含まれません.
    動作はURIではなく方法で伝達される.
  • [good]
    POST(http://localhost:3000/users/user)
    [bad]
    http://localhost:3000/users/user/add
  • ファイル拡張子はURIに含まれません.
    URIには、本体コンテンツフォーマットを表すファイル拡張子は含まれていません.Accept Headerを使用する必要があります.
  • [good]
    POST(http://localhost:3000/users/user)
    HTTP/1.1 Host:localhost:3000 Accept: image/jpg
    [bad]
    http://localhost:3000/users/user/image.jpg
  • は、転送するリソースの名前を使用しますが、制御リソースの場合は例外的に動詞の使用を許可します.
  • [good]
    http://localhost:3000/users/user/duplicate
    [bad]
    http://localhost:3000/users/user/duplicating
    ソース:
    https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
    https://devuna.tistory.com/79[図納開発日記]