设计 HTTP API 的最佳实践

- ### Understanding HTTP verbs
	- GET
	- POST
	- PUT
	- PATCH
	- DELETE
	- COPY
	- HEAD
	- OPTIONS
	- LINK
	- UNLINK
	- PURGE
	- LOCK
	- UNLOCK
	- PROPFIND
	- VIEW
- ### Naming Conventions
	- Always use Nouns in your API
		- https://api.boxue.io/series
		- https://api.boxue.io/episodes
		- https://api.boxue.io/accounts/{id}
	- I. Documentation API
		- https://api.boxue.io/accounts/admin
		- https://api.boxue.io/episodes/{id}
	- II.Collection API
		- https://api.boxue.io/series/{id}/episodes
	- III.Control API
		- https://api.boxue.io/users/{id}/cart/checkout
		- https://api.boxue.io/series/{id}/episodes/{id}/play
- ### Best Practice
	- #### DO NOT include HTTP verbs
		- https://api.boxue.io/get-series
		- https://api.boxue.io/post-login
		- https://api.boxue.io/delete-episode-note
	- #### Use / to indicate a hierarchical relationships
		- https://api.boxue.io/serires/{id}/episodes
		- https://api.boxue.io/users/{id}/cart/checkout
	- #### Use - to improve the readability of URIs
		- https://boxueio.com/series/machie-learning-from-scratch/ebook/388
	- #### DO NOT use _
		- https://boxueio.com/series/machine_learning_from_scratch/ebook/388
	- #### Use query component to filter URI collection
		- https://boxueio.com/blackboard?page=2
	- #### Always use lowercase letters
	- #### DO NOT use file extension
		- https://api.boxue.io/series.json
		- https://api.boxue.io/series/{id}/episodes/info.xml
  • Flutter 学习