1
我目前正在设计一个新的API和一个使用该API的webapp。嵌套的REST资源的角度ui路由器状态名称
例如,假设我有以下REST资源:(使用弹簧启动的microService):
GET /orders // get all orders
POST /orders // create an order
GET /orders/1 // get order with id 1
PUT /orders/1 // update order with id 1
GET /orders/1/items // get all order items
POST /orders/1/items // create an order item
GET /orders/1/items/2 // get the order item with id 2 of order with id 1
PUT /orders/1/items/2 // update order item with id 2 of order with id 1
我认为,这是一个很常见的用法。在我的应用程序中,资源更加嵌套。
我使用角与UI-路由器和我想定义的状态/网址为根据形式/视图,作为closly尽可能是到REST API。由于无法为GET,POST,PUT使用相同的URL,因此我想知道定义这些状态的标准(最佳实践)是什么。
几乎所有的文本,教程等使用以下网址/状态的CRUD方法:
/#/orders/ // state: orders
/#/orders/create // state: orders.create
/#/orders/1/show // state: orders.show
/#/orders/1/edit // state: orders.edit
这是相当简单的。 但是没有人讨论如何设计嵌套资源。因此,如何处理嵌套的项目资源会很有趣?
通常情况下,我想有一个控制器,一个嵌套的视图来显示的项目,这样的项目是orders.show状态的子状态。
因此,如果我会用同样的方式作为书籍/教程建议,这将导致到以下网址:
/#/orders/1/show/items // state: orders.show.items
/#/orders/1/show/items/create // state: orders.show.items.create
/#/orders/1/show/items/2/show // state: orders.show.items.show
/#/orders/1/show/items/2/edit // state: orders.show.items.edit
但:这些URL某种程度上显示不正确。那么,什么经验和建议存在?或者有什么建议来获得一个干净的URL,因此一个干净的应用程序结构?