2013-08-03 6 views
1

У меня есть небольшой API, который предоставляет мобильное приложение с некоторыми JSON по запросу. Это первый раз, когда я разработал нечто подобное, но он функционирует хорошо.Правильный способ структурирования API

Теперь я хотел бы проверить и улучшить структуру API, так как я объединил его без особого опыта. Моя текущая реализация выглядит следующим образом:

  • в моем общедоступном веб-каталог У меня есть foler с именем «API»
  • в этой папке у меня есть две поддиректории, «Livescores» и «YesterdaysScores».
  • Каждая из этих папок имеет файл index.php. Этот файл запрашивает мою базу данных и возвращает результаты как JSON.
  • мое приложение получает доступ к определенному пути для данных, которые он хочет. (Например. Www.blabla.com/api/LiveScores)

Мой первый вопрос заключается в том, что есть много избыточности. Например, два файла index.php почти идентичны, только с другим предложением SQL WHERE. Это кажется субоптимальным.

Помимо этого, я бы просто обратил внимание на «правильный» способ сделать все это.

ответ

0

Возможно, вы захотите использовать API-интерфейс. Пару популярных из них для PHP (которые, кажется, активно поддерживается/улучшенный) включают в себя:

0

Вы также можете изучить MongoDB ()), и постройте свой слой API непосредственно поверх него. Если вы хотите использовать веб-инфраструктуру, есть много вариантов. Существует большое количество драйверов для вашего выбора (http://docs.mongodb.org/ecosystem/drivers/).

Независимо от этого, необходимо быстро и легко создавать и управлять вашим конкретным API, поскольку вы можете хранить и запускать сложные запросы на JSON-документы из MongoDB. Это также база данных NoSQL и будет намного лучше масштабироваться, чем RDBM, которые вы используете прямо сейчас; с большим количеством мобильных устройств там, вам понадобится способ масштабирования до высокой параллельности запросов с низкой задержкой.

Однако вам нужно будет потратить время на изучение подхода к моделированию документов и MongoDB. Есть несколько бесплатных онлайн-классов обучения, чтобы изучить основы https://education.10gen.com/.

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