"Ungültiger oder fehlender API-Key"]); exit; } } // Prüfe den API-Key validate_api_key(); // Holen des Endpunkts und der Methode $request_method = $_SERVER['REQUEST_METHOD']; $uri = explode('/', trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/')); $endpoint = $uri[0] ?? null; $id = $uri[1] ?? null; switch ($request_method) { case 'GET': if ($endpoint === 'recipes') { if ($id) { echo get_recipe_by_id($id); } else { echo get_all_recipes(); } } elseif ($endpoint === 'recipes' && isset($id) && is_numeric($id) && $uri[2] === 'comments') { echo get_comments_by_recipe($id); } else { echo json_encode(["error" => "Ungültiger Endpunkt"]); } break; case 'POST': if ($endpoint === 'recipes') { echo create_recipe(); } elseif ($endpoint === 'recipes' && isset($id) && is_numeric($id) && $uri[2] === 'comments') { echo create_comment($id); } else { echo json_encode(["error" => "Ungültiger Endpunkt"]); } break; case 'PUT': if ($endpoint === 'recipes' && isset($id) && is_numeric($id)) { echo update_recipe($id); } else { echo json_encode(["error" => "Ungültiger Endpunkt"]); } break; case 'DELETE': if ($endpoint === 'recipes' && isset($id) && is_numeric($id)) { echo delete_recipe($id); } elseif ($endpoint === 'comments' && isset($id) && is_numeric($id)) { echo delete_comment($id); } else { echo json_encode(["error" => "Ungültiger Endpunkt"]); } break; default: echo json_encode(["error" => "Ungültige Anforderung"]); break; } ?>