首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >调用第三方web服务的有效方法

调用第三方web服务的有效方法
EN

Stack Overflow用户
提问于 2011-12-12 03:53:59
回答 2查看 716关注 0票数 1

我目前使用Google Places API来检索移动应用程序(iOS和Android)中的信息。

现在,我的问题是如何设计我的应用程序,使我的应用程序代码不受来自google或任何第三方服务的URL结构变化的影响。

目前,Google要求我们使用这样的URL结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://maps.googleapis.com/maps/api/place/search/output?parameters

现在假设我已经将这个URL嵌入到我的代码中,并且Google修改了这个URL,或者我决定使用其他服务,那么它需要在我的代码投入使用之后再次修改它。

是否有可能以其他方式这样做,这样我的应用程序代码就可以保持对任何此类更改的免疫力。

我还通过PHP通过我自己的服务器向我的应用程序中流和加载一些东西。所以,首先将信息请求发送到我的服务器,然后从google的服务器获取这些详细信息并以它所需的形式返回给我的代码,这是个好主意吗?

以图表方式解释

之前我也是这么做的

我的应用程序->请求谷歌的服务器->响应从谷歌的服务器->到我的应用程序

现在,我在想这个结构

我的应用程序->请求到我的服务器所需的参数,->请求谷歌的服务器,或任何第三方地点API,我想使用->响应,我的服务器,->,我的应用程序,以所需的形式。

我知道,这种做法会增加反应的延误,但它会让我掌握控制权。而且,我也可以在多个平台上使用相同的服务器端脚本。

有更好的办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-12 05:15:49

如何实现您的解决方案,但在应用程序加载时使用一次调用?换句话说,当应用程序启动并下载这些请求的字符串/协议时,您将进行某种注册/登录通信。这样,一旦确定了用于请求的格式,仍然可以获得相当好的性能。

票数 0
EN

Stack Overflow用户

发布于 2013-09-18 17:05:21

我有一个类似的情况访问第三方数据,在那里的访问可能会改变在未来,但不太多,不太频繁。我发现的最简单的方法是将URL或任何其他数据放在一个配置数组中,在我的例子中,它被加载到Config对象中。然后我有一个类Importer,它使用Config来决定如何获取数据。我的应用程序的其余部分只与Importer对话。因此,如果URL有任何变化,我所需要做的就是在我的配置数组中更改它。

这里是我正在使用的体系结构的更详细的描述。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8473899

复制
相关文章
Jquery 获取第一个子元素
<ul>   <li>John</li>   <li>Karl</li>   <li>Brandon</li> </ul> 获取第一个元素:  $("ul li:first-child") <div id="getfirst">    <ul>     <li>John</li>     <li>Karl</li>     <li>Brandon</li>   </ul> </div> 获取第一个元素:  $("#getfirst").find("ul li:first-child") 或$("#getfi
庞小明
2018/03/07
3.5K0
JQuery向导插件Step——第一个阉割版插件
如果使用过JQuery Steps的朋友一定会发现这个插件有一个缺点,就是页面在第一次进入的时候,会进行一次很明显的DOM重绘——页面会闪一下。 尤其是前端代码比较庞大的时候,效果更为明显。 为了解决这个问题,就想使用点轻量级的流程向导。于是网上搜了下,恰好社友有这样一个插件,感谢杨元 不过使用起来还是有点不太喜欢的地方: 1 tooltip样式比较简陋,不好看. 2 间距太窄了,没有响应式. 3 缺少一些上一步下一步的触发动作以及校验. 因此就根据ystep的源码以及JQuery.steps的流程
用户1154259
2018/01/17
1.7K0
JQuery向导插件Step——第一个阉割版插件
LeetCode--缺失的第一个正数(41)和 接雨水(42)
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/first-missing-positive
周小末天天开心
2023/10/16
1510
LeetCode--缺失的第一个正数(41)和 接雨水(42)
第一个程序
程序员学习程序开发都喜欢以输出“hello world”为第一个程序,我们也学习一下这种模式,因为Excel VBA主要是操作Excel,所以我们的第一个程序目的:在A1单元格输入“hello Excel VBA”。
xyj
2020/07/28
1.5K0
第一个程序
Hibernate第一个程序
文章目录 1. Hibernate第一个程序 1.1. 创建一个Maven项目 1.2. 创建一个实体类(JavaBean) 1.3. 创建这个实体类Student的映射文件 1.4. 核心配置文件(hibernate.cfg.xml) 1.5. 工具类(HibernateUtil) 1.6. 测试类 1.7. 总结 Hibernate第一个程序 创建一个Maven项目 <dependencies> <!-- hibernate核心jar包 --> <dependency> <groupId>o
爱撒谎的男孩
2019/12/31
4690
第一个jsp项目
JSP执行过程 JSP页面元素 不同注释类型的效果 .jsp代码 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPo
是阿超
2021/10/15
6820
第一个go程序
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-common-ligatures }
用户7798898
2020/09/27
5490
一个小时学会jQuery
前一段时间录了一套关于jQuery的视频分享给大家,可以在下载区下载到,本来想配合文字一起的,后面发现视频+帮助文档也是非常好的学习方法。 一、jQuery简介与第一个jQuery程序 1.1、jQu
张果
2018/01/04
18.6K0
一个小时学会jQuery
第一个Article Demo
Rainbow.jpg ---- class RunIt{ public void getInfo(){ try{ Thread td = Thread.currentThread(); for(int i = 0; i < 5; i++){ Thread.sleep(10000); System.out.println("线程名称:" + td.getName()
Felix_wang
2020/07/06
1980
第一个Article Demo
第一个DirectShow程序
1: 4: #include 5: 6: 7: #include dshowh 8: 9: 10: IGraphBuilder pGraph NULL 11: IMediaControl pControl NULL 12: IMediaEvent pEvent NULL 13: 14: HRESULT hr CoInitializeNULL 16: FAILEDhr 17: 18: printf 19: 20: 21: 22: h
逍遥剑客
2018/05/21
5530
第一个JDBC程序
准备mysql数据库的驱动jar包:mysql-connector-java-5.1.13-bin.jar;
星哥玩云
2022/09/14
2860
第一个小程序。
app.json是对整个小程序的全局配置,这里我就设置了一个导航页,此外对一些窗口的属性进行配置。
小F
2020/10/09
5350
第一个小程序。
制作第一个网页
一般是程序员使用新编程语言写的第一个测试程序,对于程序员来说,hello world能够正常展示到浏览器上,就表示我们的代码已经能够编译正常运行了。所以我们就从最简单的hello world开始。
呆呆
2021/09/28
4950
第一个django工程
django是python语言的一款WEB开发框架,遵循MVC架构。如何创建一个简单的dango工程呢?请往下看!!
搁浅同学
2022/07/21
3170
第一个django工程
shiro 第一个授权
1 第一个shiro授权程序 package com.shi.authorization; import java.util.Arrays; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.Secu
用户5927264
2019/07/31
3450
第一个python实例
    ''' Return the information in /proc/CPUinfo
py3study
2020/01/13
3670
第一个MVC程序
/ 和 /* 的区别:< url-pattern > / </ url-pattern > 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* </ url-pattern > 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
后端码匠
2021/08/18
3600
第一个Python程序
2、在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果
py3study
2020/01/14
4960
[Java学习第二章]第一个Java程序
编写Java应用程序可以使用任何一个文本编辑器来编写程序,然后使用JDK搭配的工具惊醒编译和运行,现在流行的开发工具都可以自动完成Java程序的编译和运行,还带有代码辅助功能,在开发一个简单的程序时还是原始的文本编辑器比较快。
爱游博客
2019/08/06
3570
第一个Mybatis程序
1.MyBatis 是一款优秀的持久层框架 2.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
Albert_xiong
2021/06/21
3950
第一个Mybatis程序

相似问题

jQuery第一个孩子第一个孩子

45

一个接一个的jQuery FadeIn嵌套图像

10

一个接一个的ajax jQuery FadeIn元素

355

jQuery找到孩子的第一个孩子

40

fadeIn李一个接一个

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文