diff --git "a/\344\275\231\350\276\211/20240514.md" "b/\344\275\231\350\276\211/20240514.md" new file mode 100644 index 0000000000000000000000000000000000000000..4ae63775cfeed6cae2ebba7619f30644f56b947b --- /dev/null +++ "b/\344\275\231\350\276\211/20240514.md" @@ -0,0 +1,26 @@ +### API与REST设计资源的URL注意原则和API版本 + +### 一、设计资源的URL注意原则: + +1. **使用名词的复数形式**:表示资源集合,如`/books`表示图书集合。 +2. **使用斜线/表示层次关系**:如`/books/1`表示Id为1的图书信息。 +3. **避免在URL中包含操作名称**:增删改查等操作应该通过HTTP方法来区分。 +4. **对于无法映射到资源操作的操作**:可以在URL中包含动词,如`PUT /books/12/set-admin`。 +5. **使用查询字符串进行筛选、搜索、分页**:如`GET /books?Id=12&pageNumber=2`。 +6. **URL使用小写字母**:统一风格,避免大小写混淆。 +7. **避免使用下划线_**:使用中划线-代替,提高可读性。 +8. **URL末尾不包含斜线/**:避免造成歧义和不必要的请求。 + +### 二、API版本的添加方式: + +1. **使用URL路径**:常见方式,如`/v1/books`表示版本1的图书资源。 +2. **使用查询字符串**:如`/books?version=v1`指定API版本。 +3. **使用自定义消息头**:通过自定义消息头,如`Accept-version: v1`指定API版本。 +4. **使用Accept消息头**:在请求头中使用Accept字段,如`Accept: application/json; v=2.0`指定API版本。 + +### 补充总结: +- **版本控制的重要性**:API版本控制是为了确保API的稳定性和向后兼容性,在API发生变化时能够有效管理和维护不同版本的API。 +- **选择合适的版本控制方式**:根据项目需求和实际情况选择合适的API版本控制方式,确保API的易用性和可维护性。 +- **遵循RESTful设计原则**:设计API时应该遵循RESTful设计原则,包括资源的表示、操作的方式等,以提供一致性和易用性的API接口。 + +通过合理设计资源的URL和使用适当的API版本控制方式,可以提高API的可用性、可维护性和扩展性,为开发者提供更好的开发体验和更稳定的接口调用环墋。 \ No newline at end of file