我目前使用Google Places API来检索移动应用程序(iOS和Android)中的信息。
现在,我的问题是如何设计我的应用程序,使我的应用程序代码不受来自google或任何第三方服务的URL结构变化的影响。
目前,Google要求我们使用这样的URL结构:
https://maps.googleapis.com/maps/api/place/search/output?parameters
现在假设我已经将这个URL嵌入到我的代码中,并且Google修改了这个URL,或者我决定使用其他服务,那么它需要在我的代码投入使用之后再次修改它。
是否有可能以其他方式这样做,这样我的应用程序代码就可以保持对任何此类更改的免疫力。
我还通过PHP通过我自己的服务器向我的应用程序中流和加载一些东西。所以,首先将信息请求发送到我的服务器,然后从google的服务器获取这些详细信息并以它所需的形式返回给我的代码,这是个好主意吗?
以图表方式解释
之前我也是这么做的
我的应用程序->请求谷歌的服务器->响应从谷歌的服务器->到我的应用程序
现在,我在想这个结构
我的应用程序->请求到我的服务器所需的参数,->请求谷歌的服务器,或任何第三方地点API,我想使用->响应,我的服务器,->,我的应用程序,以所需的形式。
我知道,这种做法会增加反应的延误,但它会让我掌握控制权。而且,我也可以在多个平台上使用相同的服务器端脚本。
有更好的办法吗?
发布于 2011-12-12 05:15:49
如何实现您的解决方案,但在应用程序加载时使用一次调用?换句话说,当应用程序启动并下载这些请求的字符串/协议时,您将进行某种注册/登录通信。这样,一旦确定了用于请求的格式,仍然可以获得相当好的性能。
发布于 2013-09-18 17:05:21
我有一个类似的情况访问第三方数据,在那里的访问可能会改变在未来,但不太多,不太频繁。我发现的最简单的方法是将URL或任何其他数据放在一个配置数组中,在我的例子中,它被加载到Config
对象中。然后我有一个类Importer
,它使用Config
来决定如何获取数据。我的应用程序的其余部分只与Importer
对话。因此,如果URL有任何变化,我所需要做的就是在我的配置数组中更改它。
https://stackoverflow.com/questions/8473899
复制