API PHP读取JSON时出现问题

时间:2020-05-07 15:16:29

标签: php mysql json api

处理JSON输入的API似乎存在问题。 这是我的API(删除函数)

function doDeleteCustomer() {
global $db;
if(isParamSet(array('id'))) {
    if(isParamAvailable(array('id'))) {
        $customerId = $_REQUEST['id'];
        $sql = "DELETE FROM customers WHERE ID=:customerid";
        $stmt = $db->prepare($sql);
        $stmt->execute(
            array(
                ':customerid' => $customerId
            )
        );
        if($stmt->rowCount() > 0) {
            $response = array();
            $response["error"] = false;
            $response["status"] = 200;
            $response["data"] = array();
            $response["message"] = "Successfully removed customer!";
        } else {
            $response = array();
            $response["error"] = true;
            $response["status"] = 400;
            $response["data"] = array();
            $response["message"] = "Unable to remove customer!";
        }
        return json_encode($response);
    }
}

}

当我在Postman中对其进行测试时,一切正常,但是我已经以x-www-form-urlencoded提供了信息。

enter image description here

但是当我想通过原始JSON数据提供输入时,会收到一条消息,提示缺少所需的id字段...我在做什么错了?

enter image description here

1 个答案:

答案 0 :(得分:3)

如果要使应用程序接受json,则必须在处理数据之前使用json_decode。另外,如果您希望两者都支持,则可以使用try catch进行切换。

可以在herehere中找到有关json_decode的更多信息。