Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用SLIM框架创建restapi。与REST保持一致,但提供正确的视图_Php_Rest_Slim - Fatal编程技术网

Php 使用SLIM框架创建restapi。与REST保持一致,但提供正确的视图

Php 使用SLIM框架创建restapi。与REST保持一致,但提供正确的视图,php,rest,slim,Php,Rest,Slim,我正试图了解如何使用SLIM创建restfulapi。我了解REST,对slim也有很好的理解,但我能理解的是如何渲染正确的视图模板 这是一个典型的RESTAPI $app->get('/wines', 'getWines'); $app->get('/wines/:id', 'getWine'); $app->post('/wines', 'addWine'); $app->put('/wines/:id', 'updateWine'); $app->delet

我正试图了解如何使用SLIM创建restfulapi。我了解REST,对slim也有很好的理解,但我能理解的是如何渲染正确的视图模板

这是一个典型的RESTAPI

$app->get('/wines', 'getWines');
$app->get('/wines/:id',  'getWine');
$app->post('/wines', 'addWine');
$app->put('/wines/:id', 'updateWine');
$app->delete('/wines/:id',   'deleteWine');
现在我不明白的是,如果所有路由都有相同的URL,那么如何呈现正确的视图模板。第一个GET请求显示所有葡萄酒。下一个GET只显示具有指定id的葡萄酒。现在,我的理解开始动摇。当我想添加葡萄酒时,我会写一条路线,该路线对GETPOST请求的反应不同

$app->map('/wines', function() {
    echo "I respond to multiple HTTP methods!";
})->via('GET', 'POST'); 
因此,对于get请求,我希望显示一个表单,以便输入新的葡萄酒,但由于URL与获取所有葡萄酒相同,并且它们都是get请求,如何呈现正确的模板

我希望这是有道理的


谢谢

您应该在对
GET/wines/
的响应中添加一个表单,该表单描述了
POST/wines/
,并且您应该为每个
GET/wines/:id
-s添加链接

您可以将其用于链接,有些用于表单。如果您想要更复杂的解决方案,可以使用JSON-LD