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






Предлагаю посмотреть laravel api: кликните сюда, Using Eloquent Resources. Для аутентификации я предлагаю использовать Ларавель паспорт , Passport также использует токены JWT для аутентификации, и его достаточно просто настроить всего за 10 минут. Просто определите свои конечные точки API в файле route/api.php, используйте Eloquent Resources, и вы готовы к работе. Надеюсь, мой ответ поможет вам.
Я знаю, как работает Laravel API. Весь сайт основан на Laravel API. Я просто не уверен, каковы лучшие практики для таких вещей. Я вижу, что многие API-интерфейсы в Интернете имеют сходство, хотя я не могу найти ни одного «руководства», в котором были бы изложены все требования / лучшие практики.
Многие крупные 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/
Именно то, что я искал! Спасибо!
В документации Laravel есть все ответы, которые вы ищете. Он в основном предназначен именно для этого.