我是 API 编程领域的新手,目前我只是在做一个小项目,我一边写一边学习,所以请耐心等待。
我不确定为多个不同功能实现 API 的最佳方式。目前我只有一个我运行的测试脚本和一个 apache 重定向,它将 /api 下的任何内容重定向到这个脚本,称之为 TestAPI.php (所以 /api/anything 将重定向)。我将 API 的路径变量传递给脚本(因此在该示例中,路径将是“任何东西”)。
目前我只是为了一个目的而写它,根据路径查找一些数据,并最终使用 PUT/DELETE 等更新和删除等(它是 restISH 而不是 restFUL)。这在一切都重定向到这个脚本的那一刻很好,但是如果我需要 2 个不同的函数呢?所以我想查找不同的数据集?因此,例如现在 /api/data1 将进入第一个集合,而 /api/data2 将进入第二个集合。这是我开始不确定的地方。
我是否只是有 1 个不断增长的大型脚本,以便 /api/data1 和 /api/data2 重定向到同一个地方(从而处理那里的任何错误,如 404)。或者我是否有 /api/data1 和 /api/data2 的脚本,每个脚本都有单独的重定向,然后是 404 的通用包罗万象(我总是希望为 404 返回 JSON/XML 而不是 HTML,所以我至少需要根据 Accept 标头返回的逻辑)。
作为第三个选项,我是否有某种前线控制器可以捕获所有内容,然后调用子组件?因此,1 个脚本重定向到 /api 下的任何内容,然后如果路径无效,则调用所需的组件或 404。这对我来说似乎是最好的方法,但我不知道怎么做。我是否有站点的某些部分只有该脚本可以调用,或者我是否使用 cURL 从前端控制器到后端 API 部分(因为我需要传递 POST/PUT 数据,我假设我必须使用cURL,还有其他方法吗?)。这在 Apache 中是如何最好地实现的?