php - 使用 Slim Framework for PHP 获取帖子数据
问题描述
目前正在使用 Slim Framework for PHP 开发 CRUD 方法,并使用 Postman 对其进行测试。我已经能够通过 Get 方法选择全部或选择单个对象,并且现在尝试插入一个对象,这就是我的问题开始的地方。我一直在关注 YT 视频(https://www.youtube.com/watch?v=FYQrMr7oDv0 24:48)只是为了了解一切,但是,youtuber 使用 $request->getParam('paramName') 这是不是我可以使用的方法。我尝试过使用 $request->getParsedBody() 和 $request->getBody(),但是所有这些都没有返回。
以下是有问题的方法
$app->post('/users/add', function (Request $request, Response $response, array $args) {
$data = $request->getParsedBody();
$username = $data['username'];
$passhash = $data['passhash'];
$email = $data['email'];
$sql = "INSERT INTO user (username, passhash, email) VALUE (:username, :passhash, :email)";
try {
$db = new DB();
$conn = $db->connect();
$stmt = $conn->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->bindParam(':passhash', $passhash);
$stmt->bindParam(':email', $email);
$result = $stmt->execute();
$db = null;
$response->getBody()->write(json_encode($result));
return $response
->withHeader('content-type', 'application/json')
->withStatus(200);
} catch (PDOException $e) {
$error = array (
"message" => $e->getMessage()
);
$response->getBody()->write(json_encode($error));
return $response
->withHeader('content-type', 'application/json')
->withStatus(500);
}
});
我应该如何获取我试图使用 Postman 发布的数据,链接到下面的 Postman 图片 https://i.stack.imgur.com/4foNu.png
解决方案
最终想通了,需要补充:
$app->addBodyParsingMiddleware();
应用创建后,为了能够解析 JSON、表单数据和 XML,需要添加这个中间件
推荐阅读
- reactjs - ReactJS:需要帮助调试
- xampp - Mysql 服务器在 XAMPP 上关闭,日志显示我没有错误
- deep-learning - 在 Intel GPU 上部署 YOLO
- spring-data-jpa - Spring Data JPA 根据字符串输入列表选择不同的动态列
- javascript - 使用 navigator.geolocation.watchPosition 时 React 中的无限循环
- reactjs - 等待 useEffect 更新状态以传递道具?
- python-3.x - 如何根据用户输入菜单计算我的购物车到我的字典列表的总和?
- html - 如何在不移动 flexbox 的情况下控制过渡?
- c++ - 基于块的内存分配函数
- python - Python:有没有办法将数据从 pandas 数据帧随机拆分为训练集和验证集