在REST API GET请求中指定参数

用户名

我希望能够在一个请求中指定产品的图像尺寸,对此我有不同的想法,它们是:

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 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将与此示例匹配,并且我可以在一个请求中传递所有必需的参数。

所以我的问题是,这样做是否是一个好习惯,也许这个URL对于不熟悉API的人可能会造成混淆。

  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

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章