gpt4 book ai didi

api - 良好做法 : REST API as the interface between the interface layer and business layer?

转载 作者:行者123 更新时间:2023-12-04 00:53:28 25 4
gpt4 key购买 nike

我正在考虑我计划构建的 Web 应用程序的架构,我发现自己对应用程序的核心部分思考了很多。例如,因为我想创建一个 android 应用程序来访问它,所以我已经在考虑拥有一个 API。

考虑到我从第一天起就希望为我的应用程序提供一个外部 API,使用该 API 作为接口(interface)层(Web)和我的应用程序的业务层之间的接口(interface)是一个好主意吗?这意味着即使我的应用程序的主界面也可以通过 API 访问数据。这种方法的缺点是什么?表现?

更一般地说,如果一个人正在构建一个可能需要以不同方式访问的 Web 应用程序,有一个 API(Web 服务)作为接口(interface)层和业务层之间的接口(interface)是一个好的架构设计吗 ? REST 是一个很好的“工具”吗?

最佳答案

听起来你有两个问题,所以我的答案分为两部分。

首先,你应该在接口(interface)层和业务层之间使用API​​吗?这当然是一种有效的方法,我在我当前的项目中使用了这种方法,但是你必须自己决定好处,因为只有你知道你的项目。可能要考虑的最大因素是是否会有足够多的不同客户端访问业务层来证明开发 API 的额外开发工作是合理的?通常这仅仅意味着超过 1 个客户端,因为当您发布更改或错误修复时,拥有 API 的好处将显而易见。还要考虑增加的复杂性、额外的代码维护开销以及分离接口(interface)和业务层可能带来的任何好处,例如提高可测试性。

其次,如果你实现一个 API,你应该使用 REST 吗? REST 是一种架构,它说明了应用程序的其余部分是如何开发的,就像它说明 API 一样。在 API 级别定义不转换为业务层的资源是不好的。当您希望很多人能够针对您的 API 进行开发(例如 NetFlix)时,休息往往是一种好方法。在我当前的项目中,我们选择了基于 HTTP 的 XML,因为我们不需要 Rest 通常提供的好处(或者 SOAP)。

一般来说,经验法则是实现最简单的可行解决方案,并且不要将自己编码到角落,为今天的需求而不是明天的需求而开发。

克里斯

关于api - 良好做法 : REST API as the interface between the interface layer and business layer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com