Использование Laravel в качестве простого REST - PullRequest
0 голосов
/ 16 января 2020

Так что я пытаюсь получить данные из другого URL, который может быть что-то вроде:

Произведено случайно Json

Я хочу использовать мой Laravel Проект, как REST API, для этого означает, что он не должен быть в состоянии хранить данные локально, однако я должен быть в состоянии получить / получить что-то из какой-то конечной точки API в моем приложении, однако я немного запутался в как это сделать.

Я гуглил, как сумасшедший, но я не могу понять, как решить мою проблему.

Может ли кто-нибудь указать мне правильное направление?

Ответы [ 3 ]

0 голосов
/ 16 января 2020

Адам уже указал на Жадность. Вы также можете использовать cURL, если не хотите использовать внешнюю библиотеку.

    $headers = [
        'Accept: application/json'
    ];

    $ch = curl_init();

    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 30,
    ]);

    $result = curl_exec($ch);

    if ($result === false) {
        throw new \Exception('Curl failed: ' . curl_error($ch));
    }

    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    $jsonResult = json_decode($result);

Я написал небольшую оболочку для своих собственных приложений.

0 голосов
/ 16 января 2020

Самый простой способ сделать это - использовать json_decode(file_get_contents())

См. Пример:

$post = json_decode(file_get_contents('https://jsonplaceholder.typicode.com/posts/1'), true);

А для запросов POST вы можете обратиться к Pascal MARTIN answer здесь

0 голосов
/ 16 января 2020

вы можете использовать пакет типа Guzzle .

Затем, чтобы использовать конечную точку API из вашего приложения, вы можете просто сделать что-то вроде следующего, используя пример random json:

$client = new GuzzleHttp\Client();
$response = $client->get('https://jsonplaceholder.typicode.com/posts/1');
$json = json_decode($response->getBody()->getContents(), true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...