php - 在 REST API GET 请求中指定参数

标签 php android api http slim

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

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/

相关文章:

css - 使用 Ruby On Rails twitter gem 从我的 Twitter 自定义 Twitter Feed

php - 如何在 Facebook 上点赞新闻源?

php - 如何从 javascript 函数调用 php 函数并同时传递变量?

php - PDO 和 MySQLi 准备好的语句有什么区别?

android - 如何限制缩小android

java - 从自定义模型生成 Java 类

php - Magento 通过在 foreach 内循环来更新数组

android - "Restrict Background Data"是如何在 Android 堆栈中强制执行的?

Android - 获取可绘制资源列表

api - Google PHP API - (403) 未配置访问