请问关于 Restful 接口的书写规范 
                            
                                                    
                        
                    
                    
  
                    
                    我有 products、attributes、attributeValues 3 张表
products 和 attributes 是一对多的关系
attributes 和 attributeValues 是一对多的关系
关于restful的接口设计规范应该怎么选择?应该写在哪个控制器里?
// 根据商品 id 获取属性列表
GET http://{{host}}/admin/products/100/attributes          ProductsController
GET http://{{host}}/admin/attributes?product_id=100     AttributesController   
// 新增商品属性[批量]
POST http://{{host}}/admin/products/100/attributes       ProductsController
POST http://{{host}}/admin/attributes                         AttributesController
// 删除商品属性
DELETE http://{{host}}/admin/products/100/attributes/100        ProductsController      
DELETE http://{{host}}/admin/attributes/100                         AttributesController
// 根据属性 id 获取属性列表
GET http://{{host}}/admin/products/100/attributes/100/attributeValues        ProductsController
GET http://{{host}}/admin/attributes/100/attributeValues          AttributesController
GET http://{{host}}/admin/attributeValues?attribute_id=100     AttributeValuesController   
// 新增商品属性值[批量]
POST http://{{host}}/admin/products/:product/attributes/100/attributeValues        ProductsController
POST http://{{host}}/admin/attributes/100/attributeValues        AttributesController
POST http://{{host}}/admin/attributeValues                              AttributeValuesController   
// 删除商品属性值
DELETE http://{{host}}/admin/products/100/attributes/100/attributeValues/100        ProductsController
DELETE http://{{host}}/admin/attributes/100/attributeValues/100         AttributesController
DELETE http://{{host}}/admin/attributeValues/100                                AttributeValuesController   我阅读过以下2篇文章, 依然比较困惑
这是他们列举的2个例子
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
GET  /issues 列出所有的 issue 
GET  /orgs/:org/issues 列出某个项目的 issue 
GET  /repos/:owner/:repo/issues/:number 获取某个项目的某个 issue 
POST  /repos/:owner/:repo/issues 为某个项目创建 issue 
PATCH  /repos/:owner/:repo/issues/:number 修改某个 issue 
PUT  /repos/:owner/:repo/issues/:number/lock 锁住某个 issue 
DELETE  /repos/:owner/:repo/issues/:number/lock 接收某个 issuehttps://blog.csdn.net/u013007900/article/d...
2.5. Github 的 Restful HTTP API 设计分解
 
           
         
                     
                     
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: