【问题标题】:Unable to Pass UUID string to API endpoint using POSTMAN Correctly无法正确使用 POSTMAN 将 UUID 字符串传递给 API 端点
【发布时间】:2022-02-12 23:18:23
【问题描述】:

API 端点是这样的,在 django 后端 /accounts/id/uuid:pk/some_action/

在模型中它被定义为

id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) 

apiview 接受请求和 pk,uuid 为 pk。

@api_view(['PUT'])
def some_action(request, pk):

当我使用 uuid 发出请求时,它给了我以下错误

Not Found: /accounts/user/{id}/some-action/
[12/Feb/2022 18:41:28] "PUT /accounts/id/%7Bid%7D/some-action/ HTTP/1.1" 404 4930

在 Postman 中,我像这样配置网址 /accounts/id/{id}/some-action/

那么传递 uuid 可能会出现什么问题?

【问题讨论】:

    标签: django django-rest-framework postman django-urls uuid


    【解决方案1】:

    请将urls.py中的url改为/accounts/id/<uuid:pk>/some_action/

    希望它有效。

    【讨论】:

    • 这和我最初在问题细节中说的一样。
    • 如果手动在 url 中传递 id 则它可以工作,所以我的邮递员 url 设置可能有问题
    • 现在我正在测试这些手动传递的 id ,但是如果有人知道更好的解决方案应该发布它
    • 请将 urls.py 中的 url 更改为 /accounts/id//some_action/ 我刚刚注意到我共享的 url 错误。请尝试一下,如果它适合你,请恢复
    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 2019-09-30
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多