2
我正在使用Slim框架創建一些Web服務,以便在我的Web應用程序中通過關鍵字進行搜索。我的問題是,當我通過關鍵字搜索具有正斜槓(/)時,slim將斜線解釋爲路線,響應是404 not found
。Slim框架 - 包含正斜槓的字符串的HTTP GET請求
例如,如果我的關鍵字是:「One」,那麼/events/One
的HTTP GET請求將調用相關的回調函數,並將「One」作爲回調的參數。但是,如果我的關鍵字是:「One/Two」,則對/events/One/Two
的HTTP GET請求將調用關聯的回調函數,因爲Slim需要類似events/:parm1/parm2
的路由。
我該如何解決這個問題?
$app->get('/eventos/genero/:genero', 'findByGenero');
function findByGenero($genero) {
$sql = "SELECT id, id_organizador, imagem, titulo, latitude, longitude, endDate, startDate, local, rua FROM eventos_sapo WHERE genero LIKE :genero ORDER BY titulo";
try {
$db = getConn();
$stmt = $db->prepare($sql);
$genero = "%".$genero."%";
$stmt->bindParam("genero", $genero);
$stmt->execute();
$eventos = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($eventos);
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
進行urlencode搜索字符串前爲了它。 – Frank