我们应该如何构建 REST API?
示例结构
app/
v1/
controllers/
c1_controller
c2_controller
models/
m1
m2
views/
view1
view2
v2/
controllers/
c1_controller
c2_controller
models/
m1
m2
views/
view1
view2
您将如何向该结构添加 CRUD?
CRUD === 操作?
最佳答案
你在问题中提到的是一个普通的 MVC 结构。基于 REST 的应用程序的目录结构不需要与 MVC 布局不同。
要使您的应用符合 REST 风格,您需要在 Controller 中添加基于动词的操作。
如果您有一个 UserController,您将有四个操作 - GET、POST、PUT、DELETE
POST v1/user/ --would create a new user
GET v1/user/ --would return all users
PUT v1/user/ --would update all users
DELETE v1/user/ --would delete all users
POST v1/user/123 --would do nothing or throw error
GET v1/user/123 --would return User with ID 123
PUT v1/user/123 --would update User with ID 123
DELETE v1/user/123 --would delete User with ID 123
当您使用 Zend Framework 等框架构建应用时,它会根据方法将您的 URL 重定向到适当的操作。
关于web-services - REST API 的目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15510238/