在REST API中,要获取资源,我应该在URL中包括资源ID吗?

高速公路62

我正在尝试创建一个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请求的标头中?还是我不应该担心的事情?

蛋白石

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否应该在REST API PUT请求中传递资源及其相关资源的所有字段?

来自分类Dev

是否应该在REST API PUT请求中传递资源及其相关资源的所有字段?

来自分类Dev

我应该在REST网址中输入用户ID还是从身份验证中获取用户ID

来自分类Dev

我应该在REST api调用中的哪里放置API密钥?

来自分类Dev

在EAR文件中获取REST资源路径

来自分类Dev

子资源可以在REST中更改其“父”资源吗?

来自分类Dev

REST API中的首选资源设计?

来自分类Dev

REST API中“活动”资源的概念

来自分类Dev

REST API中“活动”资源的概念

来自分类Dev

授权访问 REST API 中的资源

来自分类Dev

REST中的资源多编辑

来自分类Dev

我应该在同一个REST实体上提供不同的视图吗?

来自分类Dev

资源的 REST URL

来自分类Dev

REST API 的用户资源

来自分类Dev

我应该在资源的新方法中检索记录吗?(路轨)

来自分类Dev

Laravel 测试 - 我应该在每个测试中创建依赖资源吗?

来自分类Dev

我应该在REST Api中使用哪些头盔模块

来自分类Dev

为什么不应该将域模型用作REST API中的资源?

来自分类Dev

EF:我应该在我的实体中包括外键ID吗?

来自分类Dev

Azure REST API 获取资源 parentResourcePath 参数

来自分类Dev

REST Web API URL以更新资源属性

来自分类Dev

在遵循REST的同时更新序列中单个资源的位置吗?

来自分类Dev

我们不能使用 GET 在 REST 中创建新资源而不是 PUT 吗?

来自分类Dev

在REST中,两个URL是否永远无法标识同一资源,这是真的吗?

来自分类常见问题

REST API设计-通过REST获取具有不同参数但URL模式相同的资源

来自分类Dev

REST获取资源的计算视图

来自分类Dev

REST API中相同资源的不同更新权限

来自分类Dev

REST API,跟踪多个资源中的更改,前端同步

来自分类Dev

REST API中相同资源的不同更新权限

Related 相关文章

  1. 1

    是否应该在REST API PUT请求中传递资源及其相关资源的所有字段?

  2. 2

    是否应该在REST API PUT请求中传递资源及其相关资源的所有字段?

  3. 3

    我应该在REST网址中输入用户ID还是从身份验证中获取用户ID

  4. 4

    我应该在REST api调用中的哪里放置API密钥?

  5. 5

    在EAR文件中获取REST资源路径

  6. 6

    子资源可以在REST中更改其“父”资源吗?

  7. 7

    REST API中的首选资源设计?

  8. 8

    REST API中“活动”资源的概念

  9. 9

    REST API中“活动”资源的概念

  10. 10

    授权访问 REST API 中的资源

  11. 11

    REST中的资源多编辑

  12. 12

    我应该在同一个REST实体上提供不同的视图吗?

  13. 13

    资源的 REST URL

  14. 14

    REST API 的用户资源

  15. 15

    我应该在资源的新方法中检索记录吗?(路轨)

  16. 16

    Laravel 测试 - 我应该在每个测试中创建依赖资源吗?

  17. 17

    我应该在REST Api中使用哪些头盔模块

  18. 18

    为什么不应该将域模型用作REST API中的资源?

  19. 19

    EF:我应该在我的实体中包括外键ID吗?

  20. 20

    Azure REST API 获取资源 parentResourcePath 参数

  21. 21

    REST Web API URL以更新资源属性

  22. 22

    在遵循REST的同时更新序列中单个资源的位置吗?

  23. 23

    我们不能使用 GET 在 REST 中创建新资源而不是 PUT 吗?

  24. 24

    在REST中,两个URL是否永远无法标识同一资源,这是真的吗?

  25. 25

    REST API设计-通过REST获取具有不同参数但URL模式相同的资源

  26. 26

    REST获取资源的计算视图

  27. 27

    REST API中相同资源的不同更新权限

  28. 28

    REST API,跟踪多个资源中的更改,前端同步

  29. 29

    REST API中相同资源的不同更新权限

热门标签

归档