[CS]REST APIとは?


https://devuna.tistory.com/79
RESTとは?
  • は、Representation State Transferの略である.
    リソース-URI
    動作-HSTPメソッド
    表現-Representation
    構成.
  • は、Web上のすべてのリソースに一意のURIを付与、リソースを定義し、リソースにアドレスを指定する方法
  • を提供する.
  • RESTはURIによりリソースを表し、HTTP法を用いてそのリソースの挙動を規定して結果を得る.
  • REST APIとは?
    RESTベースのサービスAPIの提供
    REST APIルール
    2つの最も重要な設計のポイント
  • URIは、リソース
  • を表す必要がある.
  • リソースの動作はHTTPメソッド(GET、POST、PUT、DELETE)で表されるべきである.
  • その他守るべきルール.
    1.小文字を使う
    アドレスは大文字と小文字を区別するので、キャメルではなく小文字を使います.
    NO > postComments
    
    http://restapi.example.com/users/postComments
    
    YES > post와 comments를 하이픈으로 연결
    http://restapi.example.com/users/post-comments
    
    2.下欄の代わりにハイフンを使う
    ハイフンの使用をできるだけ少なくし、正確な意味や表現のために避けられない場合に単語を使う.
    NO > post_comments
    http://restapi.example.com/users/post_comments
    
    YES > post와 comments를 하이픈으로 연결
    http://restapi.example.com/users/post-comments
    
    3.最後にスラッシュを含まない
    スラッシュは階層的で、最後に使いません.
    NO > users/
    http://restapi.example.com/users/
    
    YES 
    http://restapi.example.com/users
    
    4.行為を含まない
    動作はURLではなくHTTP方式で伝達される.
    NO > POST 
    http://restapi.example.com/users/1/delete-post/1
    
    YES > DELETE 
    http://restapi.example.com/users/1/posts/1
    
    5.ファイル拡張子はURIに含まれない
    REST APIは、メッセージ本体のコンテンツフォーマットを表すファイル拡張子をURIに含まない.次にAccept Headerを使用します.
    NO > 
    http://restapi.example.com/users/photo.jpg
    
    YES > 
    GET http://restapi.example.com/users/photo 
    HTTP/1.1 Host: restapi.example.com Accept: image/jpg
    
    6.転送するリソースの名前は可能な限り使用しますが、制御リソースの場合は例外使用を許可します.
    NO >
    http://restapi.example.com/posts/duplicating
    
    YES >
    http://restapi.example.com/posts/duplicate