原题

  • 标题: 做一个移动 app 的 api,使用 python,有些疑问,请教给位 v 友
  • 网址: https://www.v2ex.com/t/251411
  • 详情: 第一次写一个 app 的后台 api ,决定用 flask ,提供 api 的同时,通过网页形式提供后台管理,大概思路是 API 返回 JSON 数据,同时提供网页,需不需要把这两部分分开呢,有没有这类的大概框架可供参考呢?

解答

app 的 api 是给 app 的用户用的,管理后台,是给管理人员用的。其中有共通之处 ,但也会有大量不同之处。

需求、权限、授权机制、深度、广度都有不同。

假设 app 里一个用户要看帖子列表, api 肯定会提供这个接口,还需要授权机制。

按理说,后台也需要这个接口,但后台的需求应该又有所不同,首先授权机制就可能不同。其次对于帖子的搜索方面,需求比 app 端要多一些吧,而面向 app 的 api 未必需要提供这么多的支持,可能只是普通的按日查询,排发布日期排序之类的。

而管理后台可能就需要很多条件了,比如评论数量超过 X 条的,被收藏 Y 次以上的等等。

所以说,在这个层面上,是分开的。

管理后台这边在使用数据时,如果没有更底层的 API 可供调用,那么这个需求,可能就需要管理后台直接去查库,甚至会查 N 张表来建立各种筛选条件。

肯定也有一些接口是可以直接调用 API 的。比如说工具性的、公共性的。不过这还是要取决于 API 那边的授权机制,以及后台的账户体系。

如果为了个别用户的『超级权限』,把 API 搞得巨复杂,巨多权限检测,恐怕也不是个好方案。

这是我自己的一些经验,仅供参考。