3

我们应该如何构建我们的 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 === 行动?

4

1 回答 1

2

您在问题中提到的是一个普通的 MVC 结构。基于 REST 的应用程序的目录结构不必与 MVC 布局不同。

要使您的应用程序 RESTful,您需要在控制器中添加基于动词的操作。

如果您有一个 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 重定向到适当的操作。

于 2013-03-20T09:04:18.960 回答