如果我在 API 中使用 POST 方法,如何通过在 url 中传递值来检查浏览器中的 php API?

How to check php API in browser by passing values in url if I'm using POST method in API?

当我在 Postman 上测试时,这个 API 工作正常,但当我试图检查时 在浏览器中通过在 url 中传递 id 它显示错误。 http://192.168.43.88/mydatabase/delete.php?id=1 当我使用 GET 方法时,然后我能够在 url 中传递值,但是为什么在 POST 方法的情况下我会出错。

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id = $_POST['id'];
    if($id == '') {
        echo 'please provide required value';
    } else {
        require_once('connection.php');
        $sql = "SELECT * FROM circle_detail WHERE id='$id' AND deleted='0' ";
        $check = mysqli_fetch_array(mysqli_query($conn, $sql));
        if(isset($check)) {
            $sql = "UPDATE  circle_detail SET deleted='1' WHERE id='$id'";
            if(mysqli_query($conn, $sql)) {
                echo 'marked as deleted';
            } else {
                echo 'oops! Please try again!';
            } 
        } else { 
            echo 'not found';
        }
        mysqli_close($conn);
    }
} else {
    echo 'error';
}

如果您使用 POST 请求方法但将变量作为 GET 参数传递,则需要更改以下代码:

$id = $_POST['id'];

成为

$id = $_GET['id'];

这样,当它是 POST 请求时,它仍会查找 get 参数。因为它目前正在寻找一个名为 id

的 POST 变量

如果你想使用 GET 并且 POST 你 移除

if($_SERVER['REQUEST_METHOD'] == 'POST') { }

并使用

$_REQUEST['id']

而不是 $_POST

您不能从浏览器调用 POST 方法 API,您应该使用 "Postman"。 Postman 是 API 开发人员的完整工具链,

Postman

或使用 Rest 客户端

Advanced REST client