php - 格式错误的 HTTP 请求 Laravel
问题描述
我正在构建一个 Laravel 后端 API。API 已经实现,我已经测试了所有必要的方法和路由。我现在正忙于使用 Postman 创建一些测试请求,但是我在 Laravel 中不断收到“格式错误的 HTTP 请求”错误。
服务器端验证是使用 Laravel Passport 完成的,下面是 Postman 生成的 HTTP 代码
POST /api/my_data_url HTTP/1.1
Host: 127.0.0.1:8000
Accept: application/json
Authorization: Bearer oauth_key_goes_here
Content-Type: application/json
{
"value_1": 123,
"value_2": 123,
"value_3": 123
}
我已经查看了 JSON:API 标准,但是对于这个应用程序的目的来说这不是必需的,因为我没有创建公共 API,所以这将是矫枉过正。这是我将使用的我自己的应用程序。在控制器方面,我只希望它回显,因此目前看起来像这样:
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
return response()->json($request->json()->all(), 200);
}
我的最终目标只是将一些传感器数据传递给 Laravel API,并使用适当的控制器方法来验证并将其保存到数据库中。我错过了什么,感觉就像我犯了一个愚蠢的错误?
PS我知道还有另一个问题非常相似,但是似乎该问题没有可以帮助我的解决方案。
解决方案
我认为我的原始答案足够详细,因为它只是一个配置错误。我将尝试在这里更详细的第二个答案。请注意,我使用的是基于 Linux 的桌面应用程序,我无法评论其他版本,因为我不使用它们。我的 Laravel 应用程序也是使用 Laravel 6 构建的。
我的错误是由不正确的请求授权设置引起的。下面的步骤使我能够纠正这个问题。
打开 Postman 应用程序后,请执行以下操作:
Create a request
通过单击桌面应用程序起始页右侧的标签在 Postman 中创建请求- 您现在将位于请求创建选项卡中。在此范围内,有多个选项卡可让您配置部分请求。例如
Params
,Authorization
等等。 - 导航到
Authorization
选项卡并更改类型下拉列表以匹配您的 Laravel 应用程序使用的授权模式。
这些是我为解决问题而采取的步骤。
推荐阅读
- javascript - 我试图在向该对象添加新属性之前将对象推送到数组,但它直接更新数组
- css - 主容器上带有 flexgrow 的水平可滚动 div
- flutter - 如何在flutter中从JSON文件中获取数据
- linux - 如何在bash编程中的循环内对文件使用stat
- swift - 我可以将 Swift 包管理器限制在特定平台上吗?
- postgresql - 如何从其他服务器的 dblink 连接?
- json - 使用下拉列表中的数据在 Node-red 上的 SNMP-set 中设置值
- css - 如何在 ant-design 组件中使用 css-in-js?
- vb.net - vb.net My.Settings 类类别和描述
- node.js - Heroku 应用程序错误 Node.js 请如果有人解决他们所说的话?