资源:资源是数据的一部分,例如:用户
集合:一组资源称为集合,例如:用户列表
URL:标识资源或集合的位置,例如:/user
/systemOrders或/system_orders
/system-orders
/system-orders/{order_id}
/system-orders/{OrderId}
/system-orders/{orderId}
GET /user
GET /User
GET /users
GET /shops/:shopId/category/:categoryId/price
GET /shops/:shopId/或GET /category/:categoryId
POST /updateuser/{userId}
GET /getusers
PUT /user/{userId}
POST /alarm/245743/resend
{
user_name: "Mohammad Faisal"
user_id: "1"
}
{
userName: "Mohammad Faisal"
userId: "1"
}
product_order
product-orders
API蓝图:https://apiblueprint.org/
Swagger:https://swagger.io/
{
users: [
...
]
}
{
users: [
...
],
total: 34
}
GET /shops?offset=5&limit=5
GET /shops?fields=id,name,address,contact
GET /shops/123?token=some_kind_of_authenticaiton_token
Authorization: Bearer xxxxxx, Extra yyyyy
content-type: application/json
GET /shops/2/products:从shop 2获取所有产品的列表。
GET /shops/2/products/31:获取产品31的详细信息,产品31属于shop 2。
DELETE /shops/2/products/31:应该删除产品31,它属于商店2。
PUT /shops/2/products/31:应该更新产品31的信息,只在resource-URL上使用PUT,而不是集合。
POST /shops:应该创建一个新的商店,并返回创建的新商店的详细信息。在集合url上使用POST。
当由于一个或多个服务错误而拒绝客户端请求时,一定要返回4xx HTTP错误代码。
考虑处理所有属性,然后在单个响应中返回多个验证问题。
扁平比嵌套好。
简单胜于复杂。
字符串比数字好。
一致性比定制更好。
译者:Mr.lzc,软件工程师、DevOpsDays、HDZ深圳核心组织者,目前供职于华为,从事云计算工作,专注于K8s、微服务领域。
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。