Как спроектировать API для мобильного приложения
Какие решения нужно принять до разработки, чтобы API не пришлось переписывать.
API для мобильного приложения отличается от веб-API: мобильный клиент работает в нестабильной сети, имеет ограниченный заряд батареи и хранит данные локально. Это влияет на дизайн: эндпоинты должны возвращать ровно столько данных, сколько нужно экрану, — не больше и не меньше.
Основные решения до разработки: формат авторизации (JWT-токены — стандарт), обновление токенов (refresh token), пагинация списков (cursor-based для лент, offset для фиксированных списков), обработка ошибок (стандартизированные коды и понятные сообщения).
Версионирование API критично при обновлении приложения: не все пользователи обновляются сразу. Если API изменился, старая версия приложения должна продолжать работать. Стандарт: /v1/, /v2/ в пути или заголовок Accept-Version. Это проще настроить с самого начала, чем добавлять потом.