1

我有两个Laravel的 locale 安装,一个用作前端网站,另一个用作API,两者都Valet上。我的问题是它似乎无法一起交流,可能是因为代客。所以,我尝试了下面的小测试,由于某种原因,它不起作用。

  • 第1步

我在routes/api.phpAPI网站上有这段代码:

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

在浏览器中打开 URLhttp://api.test/hello-api时,我得到“Hello Api!” 正如预期的那样。

  • 第2步

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

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

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

  • 第 3 步

但是,如果我用这个替换前面网站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 有什么问题?

4

1 回答 1

0

我最终通过将其添加到以下内容来修复它/etc/hosts

127.0.0.1       api.test

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

于 2020-03-24T17:29:39.073 回答