给app用的api接口 和 管理后台的接口 这两个接口你们会在同一个工程吗? 1.同一个工程,会导致api接口里面参杂着管理后台的接口,model里面会有管理后台需要的字段 2.不同工程,api的model 怎么和 管理后台的model同步呢? api的model有一些字段 管理后台要用的
两者不应该是同一个工程,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
管理后台肯定是单独一个工程,然后你是把管理后台的api和 app的api放在一个工程?
是的。
1.你写表结构时 里面会有很多管理后台的字段,但app的api是不需要这些字段。
不会有“很多”,甚至一个都没有,除非设计有问题。
即使存在不同业务场景下,对数据需求不同的问题,那么不需要就不需要啊,又没什么影响,它们用同一个 mode
,因为它们确实是用的同一个 表
。
2.管理后台加个功能,你就要去更新app的api那个工程,就要去reload进程,这个不大好。
代码是代码,部署是部署。如果在意,你说的这个问题不是事。
这些问题只是你一时的纠结,如果你用的开发语言一样,开发人员一样,在初期单体服务对开发来说也是很方便的,不必维护两套服务,model层对api和管理后台也是公用的,不需要给api建一个model,管理后台建一个model,你api不需要的字段sql不查不就行了,难道你还要建两张数据表吗?随着业务发展再考虑是否需要拆分