高中编程课的学习内容有时并不尽如人意。例如,我曾学习过一门编程课程,老师只讲解了非常基础的REST API和数据库操作。 后来,我发现了一种更简洁的REST API解决方案,仅使用POST方法。 然而,我意识到这种方法在路径安全性方面存在问题,因为它容易暴露PHP文件,而且创建和维护多个端点也比较繁琐。
以下是一个例子:
$data = json_decode(file_get_contents("php://input"), true) ?? $_POST;
if(isset($data['Operation'])){
$operation = $data['Operation'];
$content = $data['Content'];
switch ($operation) {
case 'select':
SelectAllEmpresas($conn);
break;
case 'VerifyAccount':
getUser($conn, $content);
break;
case 'selectUsers':
SelectUser($conn,$content);
break;
case 'addUser':
addUser($conn,$content);
break;
case 'deleteUser':
deleteUser($conn,$content);
break;
case 'alterUser':
alterUser($conn,$content);
break;
default:
error404();
}
}else{
error404();
}
这个例子只使用POST方法处理所有操作。 后来我了解到更多关于API的知识,并与朋友讨论后,我将这种方法称为“fortfull”(也许是“功能齐全”的谐音?),因为它实际上类似于GraphQL的早期形式。 如今,这段代码仍然让我觉得很有趣。