PHP Slim和PUT请求

PHP Slim和PUT请求,php,http,slim,Php,Http,Slim,我正在做一个API,我在使用PUT方法时遇到了麻烦,我已经毫无问题地完成了GET和POST方法,但现在我的问题是我无法获得PUT参数,我现在太疯狂了 我的代码: $app->put(API_ROUTE . '/group/:id', $authenticate($app), function ($id) use ($app) { $app->log->addDebug($app->request->getResourceUri(), [$app->reque

我正在做一个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');
我的身体请愿书(Mozilla开发版说它):

请愿完成后我得到了什么

致命错误:调用上的成员函数setDescription() 第131行的E:\Dev\XAMPP\php\API\app\app.php中为空

第131行是$group->setDescription(…)

我试着用

  • $app->request->put('description')

  • $app->request()->put('description')

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


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

检查,返回什么
$em->getRepository([…])->findOneByGroupname([…])
。 显然,它是
false
null

$group->setDescription()
仅在
$groupWithSameName
(因此也包括
$group
)为null/false时执行


我可以想象你忘了一个
<代码>如果(!$groupWithSameName){

您的代码中没有变量
$group
。或者您根本没有变量,在这种情况下,您将无法在其上使用任何方法,或者您需要显示您在代码中分配它的位置。请显示完整代码。发布完整代码,我使用的是原则,但我认为这无关紧要。正如我所说,其他方法正在使用h同样的风格,如果我用了错误的方式,我很抱歉。你读了吗?是的,我读了,但它对我不起作用。我设置了数据类型,如示例所示:(
groupname=aaa&description=aaa