你们是如何将管理后台和api接口分开的?
发布于 7 年前 作者 WilliamWang233 6161 次浏览 来自 问答

我现在是管理后台的api和pc界面是一个项目, 移动端的api单独一个项目这样分开。 但现在两边都要写sequelize的model, 加表或改字段, 两个项目都要同步一下。求解决办法~

10 回复

我有一个不成熟的小建议,你可以把model放git子模块下?

@guojinlong 那就是分成三个项目,改model时, web和api都要拉一下,对吗

@WilliamWang233 是的。或者你可以将管理后台和api分的彻底一些。所有管理后台对数据操作都是来自api服务。这样是不是也可行?

@guojinlong 这样的话, 分离就没有意义了。

git submodule

api/open api/admin api/其他 通过路由区分,底层业务可以通用嘛

不要太纠结,你要知道在java项目中做微服务不知道有多少个项目,照样一个项目需要写一套model。你现在觉得有重复工作不过是因为这两个项目是你一个人负责的,如果是两个人负责谁会在乎别人需不需要再写一遍model。楼上提到的git submodule也是一种方案。如果你非要分项目的话就不要纠结要写两遍model,因为本来就是两个项目了。

@yuedun 有道理。只不过我们老板想用rpc把持久层分开, 我就想不通了。。

@WilliamWang233 之前有人提到过类似的问题,老板要求model层通过rpc调用,但这样的结果是model已经跨物理机器了,不在同一内存中如果访问数据库?

@yuedun 嗯嗯。已经使用git子模块解决了

回到顶部