如何为多种查询类型的 REST/Json Web 服务形成正确的 URL 结构


How to form the right URL structure for a REST/Json webservice for multiple query types

我正在管理一个数据门户,我们现在想添加一个REST/Json网络服务。该门户网站拥有大约500个统计数据集,按国家划分,在全球范围内,持续多年,并包含每个数据集的元数据。

应该能够提出以下问题:

  1. 通过发送一个国家/地区的 ID,请给我一个该国家/地区可用的所有数据集的列表。
  2. 通过发送数据集的 ID,将数据集的所有元数据交还给我。
  3. 通过发送国家/地区的 ID 和数据集的 ID,将该组合的所有数据返回给我。
  4. 通过指定时间属性(单年或时间段)以及国家/地区 ID 和数据集 ID,将返回该时间、国家/地区和变量的所有数据。

我不确定 URL 结构会是什么样子。

类似的东西

 /countries/[iso code]/variable/[variable]/time/[time period]

 /countries/[iso code]/parameters/[parameter id]

你觉得怎么样?感谢您的任何建议!

我会说尝试像Laravel这样的框架。 Laravel中的路由使这变得非常简单,并且使用Eloquent ORM查询数据库很简单。您必须配置一些东西,但您应该能够立即对其进行编码!这是雄辩建模的链接和路线的链接。例如,要获得您想要的功能,/countries/[iso code]/parameters/[parameter id]编写一个简单的路由,例如:

Route::get('/countries/{iso}/parameters/{id}', function($iso, $id)
{
    //something along these lines
    $country = new country();
    $results = $country->find($iso);
    return Response::json($result);
});