我正在管理一个数据门户,我们现在想添加一个REST/Json网络服务。该门户网站拥有大约500个统计数据集,按国家划分,在全球范围内,持续多年,并包含每个数据集的元数据。
应该能够提出以下问题:
- 通过发送一个国家/地区的 ID,请给我一个该国家/地区可用的所有数据集的列表。
- 通过发送数据集的 ID,将数据集的所有元数据交还给我。
- 通过发送国家/地区的 ID 和数据集的 ID,将该组合的所有数据返回给我。
- 通过指定时间属性(单年或时间段)以及国家/地区 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);
});