如何发布';内容类型应用程序/json';精简php rest服务

如何发布';内容类型应用程序/json';精简php rest服务,php,json,rest,slim,Php,Json,Rest,Slim,我在将mime类型内容类型application/json的数据从Chrome Advance rest客户端发布到slim framework web服务时遇到问题。 我尝试将这些代码发送到application/json $app->post('/register', function() use ($app) { $app->add(new \Slim\Middleware\ContentTypes());

我在将mime类型
内容类型application/json
的数据从Chrome Advance rest客户端发布到slim framework web服务时遇到问题。 我尝试将这些代码发送到
application/json

$app->post('/register', function() use ($app) {
            $app->add(new \Slim\Middleware\ContentTypes());            
            $params = $app->request->getBody();
            $name = $params->name;
            $email = $params->email;
            $password = $params->password;
            ...});
我也试过这个

$params = json_decode($app->request()->getBody());


 var_dumb($params); //get NULL value here
获得错误的

Trying to get property of non-object to this `$name = $params->name;`
请帮助我如何捕获数据的应用程序/json格式?
感谢您

根据上述详细信息,假设您的原始JSON看起来像这样

{"name":"John Smith", "mail":"jhon@mail.com", "password":"foobar"}
$app->post('/register', function () use ($app) {
$params =  $app->request->getBody() ;
$params = array_filter($params);

if(!empty($params)){
    $name = $params['name'];
    $mail = $params['mail'];
    $pass = $params['password'];

   // print $name;
  }

})->name("register");
您可以像这样访问参数数组

{"name":"John Smith", "mail":"jhon@mail.com", "password":"foobar"}
$app->post('/register', function () use ($app) {
$params =  $app->request->getBody() ;
$params = array_filter($params);

if(!empty($params)){
    $name = $params['name'];
    $mail = $params['mail'];
    $pass = $params['password'];

   // print $name;
  }

})->name("register");
或者,如果您通过
内容类型:application/x-www-form-urlencoded
在高级Rest客户端中发布,您可以使用
$app->request->post()
以访问阵列

$app->post('/register/', function () use ($app) {

   $userInfo = $app->request()->params() ;
   //or
   $userInfo =  $app->request->post() ;
   $name = $userInfo['name'];
   $mail = $userInfo['email'];
   $pass = $userInfo['password'];

 // print $name

})->name("register");

显示的错误与第一个代码段的第一部分有关。试着对它进行评论,试着只处理第二个。介意分享你提交的JSON对象吗?