В каких случаях нужно реализовывать REST API?

Работаю над проектом и стал замечать такие вещи в функционале, которые можно вынести в отдельное рест апи. Ранее с этим делом я не работал, поэтому возникли вопросы.

К примеру пользователь заходит на сайт и создает продукт (не раскрываю всех тайн проекта), там есть форма где он заполняет определенную информацию, проверяет название продукта (оно должно быть уникальное), выбирает свой город и тп.

И собственно я начал замечать, что нужно создавать методы типа:
- Вернуть все города по LIKE
- Проверить, свободно ли название группы
и тп. Таких штук попадается достаточно много.

В начале я думал все красиво распихать по модулям, но в дальнейшем есть задача организовать приложения для ios и android (понятия не имею как они разрабатываются), но что-то где-то слышал про отдельное REST API.

Так-же читал про сервис trello, где они писали о том, что сделали api, где сайт trello просто интерфейс, тоесть без проблем можно реализовать свой интерфейс. Буду рад если кто-то прокомментирует такой подход.

В общем а вопрос такой, стоит ли в моем случае организовать rest api ?
  • Вопрос задан
  • 2594 просмотра
Решения вопроса 2
dizballanze
@dizballanze
Software developer at Yandex
Стоит делать, тогда вы без проблем сможете сделать несколько клиентов(android, ios, web, etc) и не нужно никаких особых изменений вносить в бекенд.
Ответ написан
Комментировать
Все методы вы делаете всё равно - просто в случае REST API контроллер отдает уже готовый Json.
Интерфейс просто принимает и получает Json. Пользователь написал название проекта. Скажем, angular.js отправил json по http { name : projectname }} контроллеру серверного приложения. Контроллер принял, посмотрел, допустим, права пользователя на это - проверил с помощью модели "свободность" названия и отправил назад "да, можно" (ну точней, скорей записал в модель новое название проекта, если имя свободно). Всю логику вы как писали так и пишите.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
ДА.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы