微服务开发手册1.开发说明● 所有服务均基于 spring boot 框架开发。Spring boot 嵌了 tomcat 服务器,无需生成 war 包,并简化了 maven 配置,能够让开发者快速入手 spring 的开发。● 服务的接口定义需严格符合 restful 规。rest 规参考第 2 节 rest api 接口规 ● 所有服务都需要在注册服务上注册, 否则不能被其他服务所调用。 同时平台也能够实时监测服务的状态,能够与时预警与调度资源。● 所有服务的配置信息统一保存于 gitlab 上,并通过配置服务猎取配置。● 对数据库的操作统一采纳 MyBatis 框架。MyBatis 是个支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。Spring boot 也提供了 mybatis 的集成方案,可以很快捷地整合 mybatis 到项目中。● 包名约定:所有包均以 com.drht. 服务名 为父包名,如 com.drht.auth,后面再跟具体模块名称作为子包名。● 所有项目基于 jdk1.8 来开发。项目的管理与构建采纳 maven,代码统一托管于gitlab 仓库。2.rest api 接口规spring boot 接口设计需符合 restful 风格。在 RESTful 架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。 而客户端要执行某种类型的操作,需要根据 的操作协议来决定。 提供了常用的几种操作,如下表:动作说明GET(SELECT)从服务器取出资源(一项或多项)POST(CREATE)在服务器新建一个资源。PUT(UPDATE)在服务器更新资源(客户端提供改变后的完整资源)。PATCH(UPDATE)在服务器更新资源(客户端提供改变的属性)。DELETE(DELETE)从服务器删除资源。对数据库的增删改查操作,应该严格遵守上面定义的五种 动作。对于更新动作,参数通过 requestbody 来传递,格式为 json。服务端返回数据格式也均为 json。服务端返回数据对象约定:public class UnifyInfo {private int code; //返回代码,1:成功,0:失败private String message;//返回信息提示private String prompt;//private String path;//一般用于错误时的跳转路径private HashMap attribute;//一般用于查询时的返回数据容}Spring boot 会自动将符合 javabean 格式的对象转换为 json 格式数据返回。示例:客户端请求请求参数服务端返回数据说明GET /users{"code":"1","message":" 查 询 成功","prompt":"","path...