POST URL 被重定向到特定的 API 除了一个字符串应该分开 URL

POST URL to be redirected to particular API except for one string which should go to separate URL

我想要 REST API 用于两个功能,第一个是获取名称中包含字符串“laptop_re”的笔记本电脑的名称,另一个是获取我拥有的笔记本电脑屏幕尺寸的详细信息

我做了一个URL:

(r'/v1/laptops/' + laptop_re + '$', 'GET', getAllLaptops) 

另一个URL是:

(r'/v1/laptops/validscreensizes', 'GET', getAllValidScreenSizes)

这里的问题是,当我尝试 运行 这个 API 时,它会尝试搜索名称为“validscreensizes”的笔记本电脑,但没有找到第二个 [=31] =].它将所有内容重定向到第一个 URL。 我可以硬编码

laptop_re = r'(?!validscreensizes)[a-zA-z0-9_~%\.\-]+'

但我不想这样做。谁能建议在这种情况下最佳设计实践是什么?

我会考虑开辟一个新的顶级资源来公开你想要的东西。

GET /availableResolutions?laptopId=1234
{
    "resolutions": [
        {
            "laptopId": 1234,
            "resolution": "640x480"
        },
        {
            "laptopId": 1234,
            "resolution": "1280x960"
        },
        ...
    }
}

另一种选择是将可用分辨率集作为特定笔记本电脑的子资源:

GET /laptops/{laptopId}/availableResolutions

没有关于您的 API 的更多信息,很难说哪个更正确。