[咨询]给app用的api接口 和 管理后台的接口 这两个接口你们会在同一个工程吗?
发布于 7 年前 作者 whw1988 6096 次浏览 来自 问答

给app用的api接口 和 管理后台的接口 这两个接口你们会在同一个工程吗? 1.同一个工程,会导致api接口里面参杂着管理后台的接口,model里面会有管理后台需要的字段 2.不同工程,api的model 怎么和 管理后台的model同步呢? api的model有一些字段 管理后台要用的

9 回复

两者不应该是同一个工程,app调用的api和后台模块调用的api不一样,app的api需要考虑并发,快速响应等问题,而后台管理模块,更多的是考虑如何运算,甚至两者的语言都可能不一样,app的api更适合node,大量数据,快速反应,而后端api通常不需要快速反应,甚至可以让用户等待几分钟后再来查询。后端api更偏向运算和业务逻辑。

关于model问题,必须写两套啊,这是没办法的,不能因为你编码爽不爽就忽略用户的体验吧?

给app用的api接口 和 管理后台的接口 这两个接口你们会在同一个工程吗?

1.同一个工程,会导致api接口里面参杂着管理后台的接口,model里面会有管理后台需要的字段

为什么会参杂呢? model 我是直接映射的数据层的抽象。

对外应用的 api 可能是 /api/1/resource/action ,而管理后台的 api 可能是 /admin-api/1/resource/action

@yszou 管理后台肯定是单独一个工程,然后你是把管理后台的api和 app的api放在一个工程? 1.你写表结构时 里面会有很多管理后台的字段,但app的api是不需要这些字段。 2.管理后台加个功能,你就要去更新app的api那个工程,就要去reload进程,这个不大好。

@lyt308012546 同意你的看法

如果非要共享model文件可以试试 git submodule

@whw1988

管理后台肯定是单独一个工程,然后你是把管理后台的api和 app的api放在一个工程?

是的。

	 1.你写表结构时 里面会有很多管理后台的字段,但app的api是不需要这些字段。

不会有“很多”,甚至一个都没有,除非设计有问题。 即使存在不同业务场景下,对数据需求不同的问题,那么不需要就不需要啊,又没什么影响,它们用同一个 mode ,因为它们确实是用的同一个

	 2.管理后台加个功能,你就要去更新app的api那个工程,就要去reload进程,这个不大好。

代码是代码,部署是部署。如果在意,你说的这个问题不是事。

这些问题只是你一时的纠结,如果你用的开发语言一样,开发人员一样,在初期单体服务对开发来说也是很方便的,不必维护两套服务,model层对api和管理后台也是公用的,不需要给api建一个model,管理后台建一个model,你api不需要的字段sql不查不就行了,难道你还要建两张数据表吗?随着业务发展再考虑是否需要拆分

回到顶部