我正在尝试制作一个简单的API,可以为我打印cars
。到目前为止,我做了3条简单的路线:
$app('/api/cars', function($req, $res, $arg) {
//Display all cars
});
$app('/api/cars/{brand}', function($req, $res, $arg) {
//Display all cars based on brand
});
$app('/api/cars/{brand}/{model}', function($req, $res, $arg) {
//Display all cars based on brand
});
它工作正常。但是,如果我想显示带有“”的汽车怎么办? color?
可以说:
api/cars/red
我无法。
我真的不能那样做,因为它是在寻找品牌名称而不是颜色。
答案 0 :(得分:2)
您可以将其他过滤器作为GET参数传递到URL:
another example for create file:
i have a folder names files where saved my creating my files and file ext = .txt
$fh = fopen("$files/{$id}.txt","w");
fwrite($fh,$_POST['description']);//description is my field name where write something and send via post method
fcolse($fh)
然后您可以使用/api/cars?color=red
/api/cars/honda?color=red
/api/cars/honda/civic?color=red
来阅读它。
答案 1 :(得分:0)
根据您的路线,您将无能为力,因为您已经指出它正在寻找品牌。如果您想要一种快速而肮脏的解决方案,则可以将端点更新为更具描述性。
例如:
$app('/api/cars/brand/{brand}', function($req, $res, $arg) {
//Display all cars based on brand
});
$app('/api/cars/color/{color}', function($req, $res, $arg) {
//Display all cars based on color
});
这减少了端点应有的歧义。理想情况下,您的API应该改为接受查询字符串。