【发布时间】:2015-07-02 21:09:08
【问题描述】:
我希望能够在 ONE 请求中指定产品的图像大小,对此我有不同的想法,他们是:
mysuperstore.com/api/categories/40/products/53?width=100&height=100
我认为这是不好的做法,因为不清楚宽度和高度是什么意思,也许有产品的物理尺寸。
另一个变种是:
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
看起来还不错,但是在这种情况下我必须发出两个请求,它似乎是另一个资源id(图像)。
第一个请求是针对产品的
mysuperstore.com/api/categories/40/products/53/
第二个是图片地址
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
是的,我不需要返回原始图像(数据),只需返回 URL。
我正在使用 Slim 框架在 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 将匹配这个例子,我可以在一个请求中传递所有必需的参数。
所以我的问题是这样做是否是一个好习惯,也许这个 URL 可能会让不熟悉 API 的人感到困惑。
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
所以我在问比我更有经验的人,我的目标是创建无需阅读大量 API 文档即可清楚理解的 API。我的 API 应该遵循所有最佳实践。
这就是我问这个问题的原因,我希望有人可以帮助我。
【问题讨论】: