gpt4 book ai didi

rest - 在 REST API 中,要获取资源,我应该在 url 中包含资源 ID 吗?

转载 作者:可可西里 更新时间:2023-11-01 17:08:17 27 4
gpt4 key购买 nike

我正在尝试创建一个 REST API,用于在我的数据库中创建和检索文件。我遵循的教程使用以下方法来检索单个文件:

$app->get('/file/:file_id', 'authenticate', function($file_id) {
global $user_id;
$response = array();
$db = new DbHandler();

// fetch file
$result = $db->getFile($file_id, $user_id);

if ($result != NULL) {
$response["error"] = false;
$response["id"] = $result["id"];
$response["file"] = $result["fileLocation"];
$response["status"] = $result["status"];
$response["createdAt"] = $result["created_at"];
echoRespnse(200, $response);
} else {
$response["error"] = true;
$response["message"] = "The requested resource doesn't exist";
echoRespnse(404, $response);
}
});

这里他们使用 HTTP GET 方法并在 URL 中指定文件 ID,这样做是否可以,安全吗?使用 POST 并将文件 ID 隐藏在请求正文中会不会更安全,或者他们不应该将文件 ID 放在 GET 请求的 header 中?还是这不是我应该担心的事情?

最佳答案

在 REST 中,post 方法用于创建新资源而不是获取它。 Get 方法用于获取资源,您需要指定 ID 来确定特定资源。通过 URL 传递它是一种常见的做法。您可以随机生成此类 ID 以使其更难猜测。

关于rest - 在 REST API 中,要获取资源,我应该在 url 中包含资源 ID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31075162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com