【问题标题】:Slim framework: POST always null issueSlim 框架:POST 始终为空问题
【发布时间】:2023-03-12 18:42:02
【问题描述】:

我正在尝试使用 Slim 开发身份验证 REST 服务。 使用 GET 请求对其进行测试,一切正常。 但是,当我尝试在 POST 中使用某些东西时,似乎两者都

$app->request()->post()

$app->request()->getBody()

总是为空。

我正在实现经典的 login() 函数,如下所示:

$app->post('/login', 'login');

function login() {
    $app = \Slim\Slim::getInstance();
    $response = array();    
    $post = json_decode($app->request()->getBody());    
    $response['post'] = $app->request()->post();

    $sql = "SELECT * FROM utenti WHERE email = :email AND password = :password";
    try {
        $db = getDB();
        $stmt = $db->prepare($sql);
        $stmt->bindParam("email", $post->email);
        $stmt->bindParam("password", $post->password);
        $user = $stmt->fetch(PDO::FETCH_OBJ);
        $db = null;
        $response['error'] = false;
        $response['name'] = $user['name'];
    } catch(PDOException $e) {
        $response['error'] = true;
        $response['mesage'] = $e->getMessage();
    }
    echoRespnse(200, $response);
}

function echoRespnse($status_code, $response) {
    $app = \Slim\Slim::getInstance();
    // Http response code
    $app->status($status_code);

    // setting response content type to json
    $app->contentType('application/json');

    echo json_encode($response);
}

有什么建议吗?

【问题讨论】:

    标签: php oauth slim


    【解决方案1】:

    你有两个选择。

    应用程序/json 请求

    Content-Type标头设置为application/json,将正文中的数据作为JSON发送:

    {
      "param1": "value1",
      "param2": "value2"
    }
    

    并使用以下方式读取数据:

    $response['post'] = json_decode($app->request()->getBody());
    

    application/x-www-form-urlencoded 请求

    Content-Type标头设置为application/x-www-form-urlencoded,将正文中的数据发送为key=value

    param1=value1&param2=value2
    

    并使用以下方式读取数据:

    $response['post'] = $app->request()->post();
    

    【讨论】:

      猜你喜欢
      • 2015-05-09
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多