Как создать общедоступную систему API для существующего приложения Laravel

Я ищу способ создать общедоступный доступ к API для клиентов, использующих веб-приложение.

API должен позволять клиентам делать заказы удаленно.

Каков наилучший способ обработки API-аутентификации и существуют ли какие-либо общие правила (рекомендации) о том, как лучше обрабатывать запросы/возвратные ответы?

Примечание. Текущее веб-приложение уже использует API и JWT для обычной аутентификации пользователей.

В документации Laravel есть все ответы, которые вы ищете. Он в основном предназначен именно для этого.

ceejayoz 12.06.2019 15:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
472
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Предлагаю посмотреть laravel api: кликните сюда, Using Eloquent Resources. Для аутентификации я предлагаю использовать Ларавель паспорт , Passport также использует токены JWT для аутентификации, и его достаточно просто настроить всего за 10 минут. Просто определите свои конечные точки API в файле route/api.php, используйте Eloquent Resources, и вы готовы к работе. Надеюсь, мой ответ поможет вам.

Я знаю, как работает Laravel API. Весь сайт основан на Laravel API. Я просто не уверен, каковы лучшие практики для таких вещей. Я вижу, что многие API-интерфейсы в Интернете имеют сходство, хотя я не могу найти ни одного «руководства», в котором были бы изложены все требования / лучшие практики.

butaminas 12.06.2019 15:39
Ответ принят как подходящий

Многие крупные API следуют стандарту «OpenApi», что помогает сделать ваш API понятным для любого разработчика. Вы можете строго следовать этому, но даже если вы не попытаетесь реализовать несколько основных, люди смогут быстро использовать ваш API.

Например: используйте GET, POST, PUT, DELETE так, как они должны. Звучит просто, но я видел много реализаций, в которых GET используется для каждого запроса. Это, конечно, работает (если вы строите это таким образом), но упрощает ошибку, и вам нужно больше конечных точек, чем необходимо.

Также: Пользовательские понятные имена и структуры для ваших конечных точек.

api.website.com/tickets/[идентификатор, например. 12]

api.website.com/orders/[идентификатор, например. 354]

Теперь, если я как разработчик хочу получить определенный счет с идентификатором 76... Теперь я могу угадать конечную точку: api.website.com/invoices/76.

Если я хочу получить данные, я использую GET api.website.com/invoices/76.

Если я хочу обновить счет, я использую PUT api.website.com/invoices/76.

Использованные источники:

https://swagger.io/blog/api-design/api-design-best-practices/https://swagger.io/resources/articles/best-practices-in-api-documentation/https://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/

Именно то, что я искал! Спасибо!

butaminas 13.06.2019 14:55

Другие вопросы по теме