2013-03-19 2 views
3

Как мы должны структурировать наши API REST?Структура каталогов для API REST

Пример структуры

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 Framework, она будет перенаправить URL в соответствующие действия основанный на методе.

+0

Благодарим вас за ответ. Я знаком с структурой URL/URI и методами HTTP, но я ищу хорошую структуру для каталогов, контроллеров и действий (методов). Структура, которая включает в себя хорошую обработку версий на будущее. – kaulusp

Смежные вопросы