我是新来的API编程世界,目前我只是在工作中有一个侧面项目,我在写作的时候正在学习,所以请耐心等待。API组件分离
我不确定为多种不同功能实现API的最佳方式。目前我只有我运行的测试脚本和一个将/ api下的任何东西重定向到这个脚本的apache重定向,称它为TestAPI.php(so/api /任何东西都会重定向)。我将API的路径变量传递给脚本(所以在这个例子中,路径就是'任何')。
目前我只是为了一个目的而编写它,查找一些基于路径的数据,并最终将要使用PUT/DELETE等更新和删除等(它不会restFUL)。当所有事物都重定向到这个脚本的时候,这很好,但如果我需要2个不同的功能呢?所以我想查找一个不同的数据集?因此,例如,现在/ api/data1将转到第一组,而/ api/data2转到第二组。这是我开始不确定的地方。
我是否只有一个超级脚本可以增长和增长,以便/ api/data1和/ api/data2重定向到相同的位置(从而可以处理任何错误,如404s)。或者,我有/ api/data1和/ api/data2的脚本,每个脚本都有单独的重定向,然后是404s的通用catchall(我总是希望返回JSON/XML而不是HTML,因此我至少需要基于Accept头返回的逻辑)。
作为第三种选择,我是否有某种捕捉所有东西的前线控制器,然后调用子组件?因此,1脚本被重定向到/ api下的任何东西,然后在需要的组件或404s中调用它,如果它是无效的路径。这似乎是对我来说最好的方式,但我不知道如何。我是否只有该脚本可以调用的某个网站部分,或者是否使用从前端控制器到后端API部分的cURL(因为我需要传递POST/PUT数据,我假设我必须使用它cURL,有没有其他方法?)。这在Apache中如何最好地实现?
好方法,所以前端控制器实际上并没有通过调用Web服务器的另一个API部分而是执行脚本该节(像使用上面的例子的data1)在它自己的执行过程中? – yoshiwaan 2013-03-01 00:48:32
是的,这是一个非常标准的做法 – Zak 2013-03-01 00:49:17
好吧,这让我有很多想法。谢谢。 – yoshiwaan 2013-03-01 01:01:54