API和API库/包装器的区别

5
我有点困惑。我知道如果我们想从API中获取数据,无论使用什么语言,我们都可以调用API的url(例如,在python中,我们可以使用urllib.open(api的url)然后加载json)。我的问题是,如果我们可以在任何语言中打开url,那么开发者通常在网站上拥有的API库(Python、Java、C#、Ruby等)有什么意义?我们是否需要使用特定语言的库来调用API?我们不能只是在任何语言中打开API url吗?如果我们可以在这些语言中提取API,那么为什么要在每种语言中使用一个库呢?
1个回答

2

客户端不需要使用库。但是,开发人员倾向于使用库,因为它可以帮助处理创建授权标头、创建参数化URL和将响应体转换为本地类型等问题。

然而,构建这些库的好坏有着明显的差异。许多库隐藏了HTTP API并引入一整套新问题,这与HTTP接口最初设计时要避免的问题背道而驰。


好的,那么我的想法是正确的,我可以通过打开URL并对其进行任何操作来基本上在任何语言中使用API调用,对吗? - encrypt
@encrypt 是的。从技术上讲,您正在使用本机HTTP库进行HTTP请求。这就是HTTP API的主要优点,它们具有每个平台都支持的一致接口。 - Darrel Miller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接