开放API 与 查询语言GraphQL
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开放API 与 查询语言GraphQL相关的知识,希望对你有一定的参考价值。
1、开放API
-
什么是API?
API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。 -
什么是SDK?
软件开发工具包,SDK是一系列文件的组合,包括lib、dll、.h、文档、示例等等;API是对程序而言的,提供用户编程时的接口,即一系列模块化的类和函数。可以认为API是包含在SDK中的。
有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。 -
API与SDK的关系?
把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。
比如我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。 -
国内外常用精品API接口汇总
https://blog.csdn.net/qq_38188485/article/details/83992741
2、查询语言GraphQL
GraphQL是什么?
- 是一种用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。即 ask exactly what you want。
为什么要用GraphQL?
- 在实际工作中往往会有这种情景出现:比如说我需要展示一个游戏名的列表,可接口却会把游戏的详细玩法,更新时间,创建者等各种各样的 (无用的) 信息都一同返回。
- 原因是因为,后端为了兼容PC端和移动端用同一套接口,且需求经常改动导致接口很难为单一接口精简逻辑。
如果不同平台不同接口或者加参数会极大地增加后端的压力。 - GraphQL随之出现,可以做到只看一部分。
入门参考:https://blog.csdn.net/qq_41882147/article/details/82966783
以上是关于开放API 与 查询语言GraphQL的主要内容,如果未能解决你的问题,请参考以下文章
Github 为什么开放了一套 GraphQL 版本的 API?