Laravel 前端网站与 Laravel API 之间的通信,均在 Valet 下

Communication between a Laravel front website a Laravel API, both under Valet

我安装了两个 Laravel,一个用作 front 网站,另一个用作 API,都停车 代客。我的问题是好像不能一起交流,可能是Valet的原因吧。所以,我尝试了下面的小测试,由于某种原因,它不起作用。

我在 API 网站的 routes/api.php 中有此代码:

Route::get('hello-api', function () {
    return 'Hello Api!';
});

在我的浏览器中打开 URL http://api.test/hello-api 时,我得到了预期的 "Hello Api!"。

然后,当我在 front 网站的 routes/web.php 中有以下代码时:

Route::get('/hello-front', function () {
     return 'foo';
});

在我的浏览器中打开 URL http://front.test/hello-front 时,我得到了预期的 "foo"。

但是,如果我将 front 网站的 routes/web.php 中的代码替换为以下代码:

use GuzzleHttp\Client;

Route::get('/hello-api', function () {
//     return 'hello';

    $client = new Client();

    $response = $client->request('GET', 'http://api.test/hello-api');
    $statusCode = $response->getStatusCode();
    $body = $response->getBody()->getContents();

    return $statusCode;
    return $body;
});

然后,我收到以下错误消息,而不是预期的 "Hello Api!":

{"status":"error","errors":["cURL error 6: Could not resolve: api.test (Domain name not found) (see https:\/\/curl.haxx.se\/libcurl\/c\/libcurl-errors.html)"]}

我的代码或 Valet 有什么问题?

我最终通过将此添加到 /etc/hosts 来修复它:

127.0.0.1       api.test

但我很想看看是否可以在 Valet 中修复它。