-1
我正在用slim 3構建休息API,但我在理解如何執行路由時遇到了一些麻煩。我最初使用get方法在api.com/v1/companies/get和api.com/v1/companies/get/id上正確工作,並在api.com/v1/companies/post中發佈方法,但我重構了所有方法將在api.com/v1/companies/id,並在此重構後,我得到一個405錯誤發佈請求說,只有get方法存在。使用Slim編組路由REST API
所以我做了更多的研究;我在其他slim 3指南中發現的小但突破性不一致的數量有點令人討厭,但它看起來像我的解決方案是map()
函數,只是我不知道如何使用它,甚至是官方文檔跳過在我不明白的部分。
這是代碼,打破了它在重構後的樣子:
$app->group('/v1', function() use ($app) {
$app->group('/companies', function() use ($app) {
$app->get('/{code}', function($request, $response, $args) {...}
$app->get('', function($request, $response, $args) {...}
$app->post('', function($request, $response, $args) {...}
});
});
而我的第一次嘗試在使用地圖():
$app->group('/v1', function() use ($app) {
$app->map(['GET', 'POST', 'PUT', 'DELETE'], '/companies/{code}', function($request, $response, $args) use ($app) {
//here's where I don't know what to do
if($request->isGet()) {
//What goes here? And I seem to be having problems accessing my parameters?
}
}
}
對於$ this和$ app,我認爲它原本就是$ this,但我在其他地方一直看到$ app。謝謝 – Pacio