Laravel: отправка HTTP-запроса на собственный API с заголовками - PullRequest
0 голосов
/ 15 мая 2018

Я хочу использовать свой собственный API (с аутентификацией) для моего сайта, который находится в том же домене. Например, если пользователь сайта хочет увидеть список сообщений:

1. Он переходит к mywebsite/posts, таким образом делая запрос GET /mywebsite/posts.

2. Веб-приложение отправляет запрос и вызывает функцию listPosts() WebsiteController.

3. Функция listPosts() создает новый запрос к API следующим образом:

$token = 'd0aE73j...';
$request = Request::create('/api/posts', 'GET', [], [], [], [
    'Authorization' => 'Bearer '.$token,   //The header for authentification
    'Accept' => 'application/json',        //The header supposed to prevent the error below
], []);
$response = Route::dispatch($request);

4. Результат запроса в формате JSON передается и отображается в виде списка сообщений:

return view('mywebsite.listposts')->with('listPosts',$response);

У меня проблема в 3. , запрос возвращает ошибку:

InvalidArgumentException: маршрут [логин] не определен. в файле C: [...] \ vendor \ laravel \ framework \ src \ Illuminate \ Routing \ UrlGenerator.php в строке 370

Что я хочу знать:

1) Как сделать правильный HTTP-запрос с заголовками к моему собственному API,

2) Как вернуть JSON вместо этой ошибки, если Accept: application/json отсутствует.

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...