REST API
4007 ワード
REST API?
REST APIでは、「REST」はRepresentation State Transferの略であり、Web(HTTP)の利点を十分に活用できるアーキテクチャである.RESTのコンポーネントには、リソース−URI、動作−HSTP方法および表現が含まれる.
URI、URL違い?
REST APIルール
1. REST APIs use Uniform Resource Identifiers (URIs) to address resources.
Webで使用するデータまたはリソースは、HTTP URIとして表示する必要があります.
URIは資源を表すことに重点を置くべきであるため,行為(動詞)表現を含むべきではない.
2. Use HTTP Method(GET, POST, PUT, DELETE)
リソースの動作はHTTP METHODで表される.
通常、CRUDはGETクエリー、POST登録、PUT修正、DELETE削除を使用します.
POST VS PUT:POSTとPUTをべき乗等性(複数回の実行結果が同じ)で区別することができ、POSTは呼び出しごとに新しいデータを追加するが、PUTは繰り返し実行結果が同じである.
PUT vs.PATCH:PATCHは、データ部分のみを変更したい場合に使用する方法であり、変更が必要な部分のみを含みますが、PUTは変更が必要な部分+変更が必要でないすべての属性を要求に含める必要があります.
3. Lowercase letters should be preferred in URI paths.
小文字URIを使用します.RFC 3986(URI構文フォーマット)は、URIスキームおよびホストを含まない大文字と小文字を区別することを規定する.
1) http://api.example.com/my-folder/my-doc [o]
2) HTTP://API.EXAMPLE.COM/my-folder/my-doc [o]
3) http://api.example.com/My-Folder/my-doc [x]
4. Hyphens (-) should be used to improve the readability of URIs. Underscores (_) should not be used in URIs.
下の列の代わりにハイフンを使用します.
http://api.example.com/blogs/guy-levin/posts/this-is-my-first-post [o]
http://api.example.com/blogs/guy-levin/posts/this_is_my_first_post [x]
5. Forward slash separator (/) must be used to indicate a hierarchical relationship.
階層関係を表す場合は、スラッシュで区切ります.
http://api.canvas.com/shapes/polygons/quadrilaterals/squares
6. A trailing forward slash (/) should not be included in URIs.
URIの最後にスラッシュ(/)は含まれません.
http://api.canvas.com/shapes/ [x]
http://api.canvas.com/shapes [o]
7. File extensions should not be included in URIs.
URIにはファイル拡張子は含まれていません.
http://api.college.com/students/3248234/courses/2005/fall.json [x]
http://api.college.com/students/3248234/courses/2005/fall [o]
8. the endpoint name should be plural
端点名は複数で作成されます.
http://api.college.com/students/3248234/courses - Retrieves a list of all courses that are learned by a student with id 3248234.
http://api.college.com/students/3248234/courses/physics - Retrieves course physics for a student with id 3248234.
リファレンスhttps://velog.io/@pjh612/REST-API-URI-%EA%B7%9C%EC%B9%99
https://velog.io/@stampid/REST-API%EC%99%80-RESTful-API
https://restfulapi.net/rest-put-vs-post/
https://dzone.com/articles/7-rules-for-rest-api-uri-design-1
今後発表する必要があるその他の内容
https://blog.restcase.com/5-basic-rest-api-design-guidelines/
https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md
https://cloud.google.com/apis/design
Reference
この問題について(REST API), 我々は、より多くの情報をここで見つけました https://velog.io/@hyejeong/REST-APIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol