我有点困惑。我知道如果我们想从API中获取数据,无论使用什么语言,我们都可以调用API的url(例如,在python中,我们可以使用urllib.open(api的url)然后加载json)。我的问题是,如果我们可以在任何语言中打开url,那么开发者通常在网站上拥有的API库(Python、Java、C#、Ruby等)有什么意义?我们是否需要使用特定语言的库来调用API?我们不能只是在任何语言中打开API url吗?如果我们可以在这些语言中提取API,那么为什么要在每种语言中使用一个库呢?
客户端不需要使用库。但是,开发人员倾向于使用库,因为它可以帮助处理创建授权标头、创建参数化URL和将响应体转换为本地类型等问题。
然而,构建这些库的好坏有着明显的差异。许多库隐藏了HTTP API并引入一整套新问题,这与HTTP接口最初设计时要避免的问题背道而驰。