Httpie 命令提示在 Laravel 中无法正常工作

问题描述 投票:0回答:1

在 Laravel 10 项目中工作,我将使用以下 LoginController 将电话号码插入表中

public function submit(Request $request)
    {
        $request->validate([
            'phone' => 'required|numeric|min:10'
        ]);

        $user = User::firstOrCreate([
            'phone' => $request->phone
        ]);

        if(!$user) {
            return response()->json(['message' => 'Could not process a user with that Phone number.'], 401);
        }

        $user->notify(new LoginNeedsVerification());

        return response()->json(['message' => 'Text message notification sent.']);
    }

我的api路线是

Route::post('/login', [LoginController::class, 'submit']);

并且我正在使用

httpie
命令提示符,当我尝试 httpie 命令时
http POST localhost/api/login phone=772541258
cmd 收到以下错误消息

Content-Length: 315
Content-Type: text/html; charset=us-ascii
Date: Mon, 08 Jan 2024 05:20:08 GMT
Server: Microsoft-HTTPAPI/2.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Found</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Found</h2>
<hr><p>HTTP Error 404. The requested resource is not found.</p>
</BODY></HTML>

但是我的数据表工作正常。这是很好的插入数据。那么我需要在 httpie 命令前打印我的 json 消息

return response()->json(['message' => 'Text message notification sent.']);
?那么问题出在哪里呢?

php laravel httpie
1个回答
0
投票

您遇到的错误,HTTP 404 Not Found,表明您尝试访问的方向不存在或未在您的 Laravel 应用程序中描述。

在您的情况下,您使用的是后续的 HTTPie 命令:

http POST localhost/api/login phone=772541258

确保您从正确的目录运行命令,并且 Laravel 开发服务器已启动并正在运行。另外,请确保您为 API 端点使用正确的 URL。

如果您的 Laravel 开发服务器运行在

localhost
并且您使用的是默认的 Laravel 开发服务器端口 (
8000
),则正确的 URL 应该是:

http POST http://localhost:8000/api/login phone=772541258

如果您使用不同的端口,请务必调整 URL。

此外,您可能想通过在 Laravel 项目目录中运行以下命令来检查您的路由是否已正确注册:

php artisan route:list

此命令将显示 Laravel 应用程序中所有已注册路由的列表,您可以检查您的

/api/login
路由是否已列出。

如果问题仍然存在,请检查您的 Laravel 路由并确保在

web.php
api.php
文件中定义该路由,具体取决于您的设置。如果您仍然遇到问题,则 Laravel 应用程序配置或服务器设置可能存在问题。

© www.soinside.com 2019 - 2024. All rights reserved.