gpt4 book ai didi

PHP Slim 和 PUT 请求

转载 作者:可可西里 更新时间:2023-11-01 16:42:04 25 4
gpt4 key购买 nike

我正在做一个 API,但我在使用 PUT 方法时遇到了问题,我已经毫无问题地完成了 GET 和 POST 方法,但现在我的问题是我无法获取 PUT 参数,我现在很抓狂。

我的代码:

$app->put(API_ROUTE . '/group/:id', $authenticate($app), function ($id) use ($app) {
$app->log->addDebug($app->request->getResourceUri(), [$app->request->getMethod()]);
$em = GetEntityManager();
$group = $em->getRepository('Api\Entity\Group')->findOneById(mb_convert_encoding($id, 'ISO-8859-1', 'UTF-8'));
$groupname = $app->request()->params('groupname');
$description = $app->request()->params('description');
if($group){
if(!isset($groupname) || !isset($description)){
$app->outputData(new HTTP_Status(400, 'Bad request'));
} else{
$groupWithSameName = $group = $em->getRepository('Api\Entity\Group')->findOneByGroupname(mb_convert_encoding($groupname, 'ISO-8859-1', 'UTF-8'));
if($groupWithSameName){
$app->outputData(new HTTP_Status(400, 'Bad request'));
}
else{
$group->setDescription($description);
$group->setGroupname($groupname);
$em->persist($group);
$em->flush();
$app->outputData(new HTTP_Status(203, 'Bad request'));
}
}
} else{
$app->outputData(new HTTP_Status(404, 'Not Found'));
}
})->conditions(array('id' => '\d+'))
->name('put_group');

我的 body 请愿书(Mozilla Dev Edition 说):

groupname=aaa&description=aaa

请愿书完成后我得到了什么

Fatal error: Call to a member function setDescription() on null in E:\Dev\XAMPP\php\API\app\app.php on line 131

第 131 行是 $group->setDescription(...);

我试过

  • $app->request->put('描述');

  • $app->request()->put('描述');

  • $app->request->params('description');

同样的结果。我希望你能帮助我。

最佳答案

检查 $em->getRepository([...])->findOneByGroupname([...]) 返回的内容。显然,它是 falsenull

$group->setDescription() 仅在 $groupWithSameName(以及 $group)为 null/false 时执行。

我可以想象你忘记了 if 语句中的 !if(!$groupWithSameName){

关于PHP Slim 和 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com