我希望能够在一个请求中指定产品的图像大小,对此我有不同的想法,它们是:
mysuperstore.com/api/categories/40/products/53?width=100&height=100
我认为这是不好的做法,因为不清楚宽度和高度是什么意思,可能是产品的物理尺寸。
另一种变体是:
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
看起来还不错,但是我这种情况下要发两次请求,好像是另外一个resource id(image)。
第一个请求是产品
mysuperstore.com/api/categories/40/products/53/
第二个是图片URL
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
是的,我不需要返回原始图像(数据),只需返回 URL。
我正在使用 Slim Framework 在 PHP 服务器上创建 API。我找到了一个带有可选参数的 API 请求示例
$app->get('/archive(/:year(/:month(/:day)))', function ($year = 2010, $month = 12, $day = 05) use ($app) {
echo sprintf('%s-%s-%s', $year, $month, $day);
print_r($app->request()->get());
});
所以前面的 URL 将匹配这个例子,我可以在一个请求中传递所有必需的参数。
所以我的问题是这样做是否是一种好的做法,对于不熟悉 API 的人来说,这个 URL 可能会造成混淆。
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
所以我问了比我更有经验的人,我的目标是创建无需阅读大量 API 文档即可清楚理解的 API。我的 API 应该遵循所有最佳实践。
这就是我问这个问题的原因,我希望有人能帮助我解决这个问题。
最佳答案
我会这样做:
mysuperstore.com/api/categories/40/products/53/?image[width]=100&image[height]=100
关于php - 在 REST API GET 请求中指定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844498/