2013-03-19 187 views
3

我們應該如何構建REST API?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 ===操作?

回答

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框架的框架,它會重定向您的網址,以適當的行動基於該方法。

+0

謝謝你的回答。我熟悉URL/URI結構和HTTP方法,但我正在爲目錄,控制器和操作(方法)尋找良好的結構。包含未來良好版本處理的結構。 – kaulusp 2013-03-20 09:39:22