关于API的前后端分离的纠结?

前几天写了个基于百度ocr的身份证识别,今天写API,但是其中有2个点比较纠结。
描述纠结之前先简单介绍一些必要的东西:
1.前端需要用enctype="multipart/form-data"的表单来传递数据
2.后端支持自动识别身份证的正反面,也可以由前端手动选择身份证的正反面

下面是我纠结的地方:
1.我在后端配置ocr.manulRecognition = true(即只支持手动选择身份证正反面),那么后端要知道传来的表单数据里哪个是代表“正反面”的field以及它的值,就得约定前端相应field的namevalue,那么这里似乎是有一种依赖关系,有点担心会不会出问题?

2.后端需要知道传来的表单数据里哪个是身份证图片,那么就得知道其name,担心同上。

请各位大大指点一下,感谢!

阅读 3k
2 个回答

这是初做前后端分离的团队都有的疑问。

其实我们常用的方法是“基于文档编程”或者叫“基于约定编程”,这里的“文档”或者“约定”就好像支付宝一样,是买卖双方都认可的平台。

“文档”/“约定”也得是前后端都认可的内容,所以你们需要解决的问题是相互信任,大家先坐下来,共同商议下这个问题需要哪些api,这些api走什么规范,字段都是什么。定下了如上问题后,就得把文档落地,之后就大家分开各自按照文档开工了。

因为文档已经固定,大家各自按照文档进行开发,联调时,哪个部分出了错,一目了然。无需扯皮。

当然,根据项目的进展,api可能随时根据新需求变化,那定期的小会议用来sync各种信息也是必要的。这种sync的小会可以参考敏捷开发的standup meeting

这个不算依赖,应该算是约定,也就是前后端约定好之后,无论你后端采用什么方式,什么语言,前端都无所谓。

约定不能算是依赖吧,包括我们经常需要做前后交互时候的 Json 数据结构约定。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题