无法测试 Rest api


Unable to test Rest api

我正在为我的安卓应用程序开发一个 REST API。目前,我还没有将其整合到我的应用程序中,而是尝试使用chrome上流行的"高级休息客户端应用程序"对其进行测试。处理 GET 方法的函数工作正常,并以 json 格式显示来自我的数据库的记录,但当我尝试测试处理 POST 的函数时,它不起作用。请我想要有人帮助我如何从"高级 Rest 客户端应用程序"测试我的帖子功能。

原料药代码:

<?php
  require_once '../include/DbConnect.php';
  require '.././libs/Slim/Slim.php';
  'Slim'Slim::registerAutoloader();
  // create new Slim instance
  $app = new 'Slim'Slim();
  $app->get('/users', 'getUser');
  $app->post('/register', 'addUser');

  $app->run();
  function getUser(){
  $sql = "SELECT * FROM users";
  try{
    $db = new DbConnect();
    $conn = $db->connect();
    $stmt = $conn->query($sql);
    $users = $stmt->fetchAll(PDO::FETCH_OBJ);
    $db = null;
    echo '{"user": ', json_encode($users).'}';
  } catch(PDOException $e){
    echo '{"error":{"text":'. $e->getMessage().'}}';
  }
}
function addUser() {
$request = 'Slim'Slim::getInstance()->request();
$body = $request->getBody();
$user = json_decode($body);
$sql = "INSERT INTO users (fname, email) VALUES(:fname, :email)";
try{
    $db = new DbConnect();
    $conn = $db->connect();
    $stmt = $conn->prepare($sql);
    $stmt->bindParam("fname", $user->fname);
    $stmt->bindParam("email", $user->email);
    $stmt->execute();
    $user->id = $conn->lastInsertId();
    $db = null;
   echo json_encode($user);
} catch(PDOException $e){
    echo '{"error":{"text":'. $e->getMessage().'}}';
}
}
?>

好的,这是我的问题,当我在下面的代码中回显$body的内容时,这些值显示为"fname=mishael&email=mishaelharry%40gmail.com"但是在我用$user = json_decode($body)解码后; 没有值插入到我的数据库中,我从这行代码中得到{"fname":null,"电子邮件":null,"id":"33"} 回显json_encode($user);[代码]

function addUser() {
$request = 'Slim'Slim::getInstance()->request();
$body = $request->getBody();
echo json_encode($body);
$user = json_decode($body);
$sql = "INSERT INTO users (fname, email) VALUES(:fname, :email)";
try{
    $db = new DbConnect();
    $conn = $db->connect();
    $stmt = $conn->prepare($sql);
    $stmt->bindParam("fname", $user->fname);
    $stmt->bindParam("email", $user->email);
    $stmt->execute();
    $user->id = $conn->lastInsertId();
    $db = null;
   echo json_encode($user);
} catch(PDOException $e){
    echo '{"error":{"text":'. $e->getMessage().'}}';
}
}