既然一个 “应用” 里,可以包含多个 API, 为什么我看用法里更多是 一个 API 对应成一个 “函数”,反而不好管理?
一个应用包含多个API是因为这些API往往涉及到不同的业务逻辑和功能区域,将它们组合在一起作为一个应用提供给用户更加方便,并且可以帮助用户更好地理解和使用这些API。
每个API对应成一个函数是因为在后端开发中,每个API往往都需要进行独立的参数处理、数据存储和返回结果等操作。通过将每个API封装成一个单独的函数,可以使代码结构更加清晰,易于维护和扩展,并且可以方便地重用和组合这些函数。
从程序设计的角度看,可以把API看成是应用程序和操作系统之间的接口
我来说说看我的看法:虽然一个“应用”可以包含多个API,但是在函数计算中,一个API通常对应一个函数是一种常见的实践方法。这是因为,一个API通常有一个特定的功能,例如处理用户上传的文件、查询数据库、发送邮件等等,这些功能都需要对应不同的业务逻辑和代码实现。因此,将一个API对应成一个函数可以更好地管理代码和业务逻辑,并且方便代码的维护和扩展。
另外,使用一个API对应一个函数的方式可以更好地实现函数计算的灵活性和弹性。每个函数可以独立部署和管理,因此可以根据实际需要灵活调整函数的计算资源和运行环境,从而满足不同的业务需求。如果将多个API对应一个函数,就会导致多个API共用一个函数的计算资源和运行环境,难以实现灵活的资源调度和管理。
当然,对于一些简单的API,例如返回固定文本、做简单的计算等,可以考虑将多个API对应成一个函数,这样可以减少函数数量,但需要注意代码的复杂性和可维护性。 将一个API对应成一个函数是一种常见的实践方法,可以更好地管理代码和业务逻辑,并且方便实现函数计算的灵活性和弹性。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
阿里云市场中提供了大量数据API供开发者使用,通过这些API,你可以在网站或应用中快速增加相关的功能,以及在线使用海量的数据信息。
API接口的调用,是通过一个URL地址传输的,URL打开一次就是一次请求,URL在请求时需要几个组成部分: 1.API接口地址 即API接口服务公开给外部访问的地址
2.请求方式 常用的有Get 、Post 和其他方式,
3.请求的参数 API接口根据你传递的参数处理对应的数据。
4.授权认证方式 在请求API时,不是谁请求都会处理,需要对您的请求做认证。
5.Header 请求过程中需要传递的表头信息,是系统级的参数,包含存储认证信息Token的参数。
6.Body 同样也是存储传递的数据,它在请求方式为Post时才需要配置。
其实API是为C和C++程序员写的。API就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Windows NT操作系统上的应用程序。
如果你打开WINDOWS的SYSTEM文件夹,你可以发现其中有很多附加名为DLL的文件。一个DLL中包含的API函数并不只是一个,数十个,甚至是数百个。
下面是来自于Coologic » 阿里云API网关与函数计算交互的一段介绍:
阿里云提供两种套件:api网关、函数计算,综合使用可实现Severless,
函数计算:实现后端业务逻辑,包括对请求的验证/处理、数据库的增删改查、第三方API的调用等等,以函数的形式表示,每个函数对应一个业务或者说一个API。函数指对外的一个函数,并不是所有业务都要写在一个函数中,支持文件夹、压缩包上传,只要指定函数入口即可。
API网关:url到函数计算中的某个函数的映射, 对于函数计算是可以单独使用的,若嵌套api网关,则函数计算的输入输出就需要符合api网关的规则。输入自然是无法改变的,网关自动传入,输出必须符合要求,否则网关无法识别则会自动返回错误。
我的理解是这样的,函数是最小的执行单元,每个函数都需要独立部署、独立管理。如果将多个 API 作为一个函数实现,会导致代码逻辑混乱,调试和管理都会比较困难。
将每个 API 对应成一个函数还有以下好处:
1、粒度更细:将每个 API 对应成一个函数可以更加精细地控制函数的输入和输出,便于维护和扩展。
2、独立部署:每个函数可以独立部署,不会影响其他函数的运行。
3、精准计费:每个函数的调用次数和执行时间都可以被准确计费,方便进行成本控制。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。