安卓人写REST服务的几个月的总结

不经意从写安卓,到写后台的过度,希望能记录下遇过的坑。

技术架构选型。

  1. Spring boot 里面一大堆autoConfiguration,可以说是开箱即用窝。(国内有很多优秀的框架,如Jfinal ,smartFramework,等等,但是对比spring boot 感觉有优势都不大。哈哈,spring 套件太多了,不用太折腾就配出来了。)
  2. 构建工具,如今java界最红的是,gradle 和maven 了,作为安卓开发者,选一个最熟的构建,所以我选了gradle。
  3. ORM 层,这点我是体验最深的了。spring boot 官方推荐的是JPA 但是鉴于团队熟练使用框架为主,有的是mybatis ,有的是hibernate ,根据自己团队熟悉的配合使用。(千万别搞特殊,影响项目进度事大)。
  4. 要深刻理解AOP 和IOC 这两者的意义。因为熟悉这两个,你真的可以省下很多代码的(spring 很多submodule 都是基于这两个做出来的。),还可以自定义注解,节省很多代码的。真的很多。什么登陆校验,权限管理。统一返回值,和统一异常处理,swagger 等等。
  5. 记得迁移项目之前的工具类。例如那些base64 和ftp 上传等等。
  6. 模块化项目,目前我是用gradle模块化项目的。
  7. 版本控制最好是选用git(分支管理很重要)。亲测。感觉svn 真的不好用。
  8. 封装统一返回数据格式。基于AOP 这样客户端就可以根据你返回的错误码做正确的处理了。
  9. 接入swagger中记得里面真的有个天大的大坑,我发现国内很多博客都没讲述这个问题。但是我必须要讲出来,spring boot 接入swagger ApiModel 无法被spring识别。@RequestParam 然而没有什么用。我查了很多博客和国外的博客。都没说到这点。最后我在swagger github 仓库里面看到了一段,api model 无法被spring识别。将会被修复。我折腾了这个几天了。= = !伤心欲绝。我用的swagger 的包是记得把不同的项目配置写到resources 分文件保存起来。
compile("io.springfox:springfox-swagger-ui:2.2.2")
compile("io.springfox:springfox-swagger2:2.2.2")
  1. 封装一个通用的commonService 管理后台的模块。这个重用性很高。配合spring的Bean 你注入什么bean 他就具备那个表的基础的增删改查等等。 6的飞起来,我说的是真的。亦可以节省n 多的代码,和解耦窝。
  2. 使用新技术的时候,要记住就是要坚持。最后你可以看到不一样的你。(这篇文章会记录我,写rest Api 的小小总结,将不断的更新)写的错误的地方请各位大神指点。
    12.千万别用postMan 测试base64 图片上传。要不你会很惨的。当base64解析的时候。就会出错了。

推荐阅读更多精彩内容