Использование Laravel в качестве простого REST

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

Случайно сгенерированный Json

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

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

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

Всего 3 ответа


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

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

$client = new GuzzleHttpClient();
$response = $client->get('https://jsonplaceholder.typicode.com/posts/1');
$json = json_decode($response->getBody()->getContents(), true);

Адам уже указал на Жадность. Вы также можете использовать 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);

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


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

Смотрите пример:

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

А для запросов POST вы можете обратиться к ответу Паскаля МАРТИНА здесь


Есть идеи?

10000