Ну, у меня странная проблема, у меня есть 2 экземпляра laravel5. Один работает как API, а другой работает как веб-сайт. Я использую guzzle 6 (клиентскую библиотеку http) на внешнем веб-сайте для запросов API.
У меня есть 2 маршрута на API:
- http://example.dev/api/test (возвращает "привет"))
- http://example.dev/api/authenticate ( возвращает OAUTH2 или JWT access_token)
Первый маршрут (тестовый) отлично работает как с почтальоном, так и с GUZZLE. Вот код. (Примечание: параметры формы не обязательны для этого маршрута, но я включил их, чтобы показать разницу)
$client = new Client(['base_uri' => 'http://example.dev/api/']);
$response = $client->request('POST', 'test', [
'form_params' => [ // Not necessary
'username' => '[email protected]',// Not necessary
'password' => 'password', // Not necessary
]
]);
$result = json_decode($response->getBody()->getContents(), true);
dd($result);
Второй маршрут (аутентификация) работает с POSTMAN, и мы получаем токен обратно, но не с жадностью.
$client = new Client(['base_uri' => 'http://example.dev/api/']);
$response = $client->request('POST', 'authenticate', [
'form_params' => [
'username' => '[email protected]',
'password' => 'password',
]
]);
$result = json_decode($response->getBody()->getContents(), true);
dd($result);
Ошибка, которую я получаю на втором маршруте: «ServerException в строке 68 Middleware.php:». Хотя ему не было назначено промежуточное программное обеспечение, у другого вопроса также есть очень похожая проблема, и они решили ее с некоторыми изменениями в приведенном выше коде.
Уже 2 дня голову ломаю, а версий жрать столько разных, и у каждой версии свой код. Я пытался использовать как OAuth2, так и JWT, но мне кажется, что какой-то заголовок отсутствует или что-то в этом роде.
Было бы очень здорово, если бы вы могли поделиться кодом, который работает независимо от того, какая у него версия guzzle, так как я могу понизить ее.
ServerException("Server error: $code", $request, $response)
, что само по себе должно давать ошибку. Знаете ли вы, что такое фактическая ошибка сервера, каков ответ здесь? - person DavidT   schedule 16.09.2015