SpringBoot2.1 RESTful API项目脚手架(种子)项目

  

最近在做一个大型的J2EE项目,后端语言选择了Java,理所当然的选择了春天,使用Spring MVC来做restful风格的api开发很是方便,春天下面有很多子项目通过Springboot集成也很舒服。程序员都知道沟通很重要,实际项目中,往往是各自为战,尽管使用的是相同的框架,工具,编写的代码却千差万别,为了统一基础代码风格,编写了这个项目种子。

  

除此之外,在开发一个网站后端api项目时,通常都会经历搭建项目,选择依赖管理工具,引入基础包依赖,配置框架等,为了加快项目的开发进度(早点下的班)还需要封装一些常用的类和工具,如标准的响应结构体封装,统一异常处理切面,接口签名认证,初始化运行方法,轮询方法,api版本控制封装,异步方法配置等。

  

每次开始一个类型的新项目,以上这些步骤又要重复一遍,虽然能够将老项目拿过来删删减减达到目的,但还是很费时费力,还容易出问题,所以,可以利用面向对象的思想,抽取这类网站后端api项目的共同之处封装成一个项目种子。以后再开发类似的项目,就能直接在这个项目种子上迭代,减少重复劳动。
  

  

项目地址:https://github.com/ocubexo/springboot-restful-starter
  

  


  

  

这是一个基于SpringBoot 2.1.1版本,用于搭建RESTful API工程的脚手架,只需三分钟你就可以开始编写业务代码,不再烦恼于构建项目与风格统一。
  

  

  
      <李>构建数据库李   <李>运行<代码>/src/测试> CodeGenerator.java 进行代码生成李   <李>开始编写业务代码李   
  

  

<强> RESTful风格结果生成器
  

  

1。成功且不带数据的结果
  

     //不带数据的成功结果   返回新结果().success ();      

返回结果示例:
  

        {   “代码”:200年,   “信息”:“成功”,   “数据”:零   }   之前      

2。成功且带返回数据的结果
  

        返回新结果().success (“Hello, world”);//当然你也可以返回对象或其他类型的数据   用户用户=新用户();   返回新结果().success(用户),      

返回结果示例:
  

        {   “代码”:200年,   “信息”:“成功”,   “数据”:“你好,世界”   }   之前      

或者是:
  

        {   “代码”:200年,   “信息”:“成功”,   "数据":{   “名称”:“杰克”,   “年龄”:20   }   }   之前      

3。错误结果:
  

     //失败方法的参数(错误代码,错误信息)   返回新结果()。失败(10400年,“登陆失败,密码错误”);//你还可以自定义错误结果的代码   返回新结果()。失败(零,“未登录”,401年);      之前      

返回结果示例:
  

        {   “代码”:400年,   “消息”:“登陆失败,密码错误”,   “数据”:10400   }   之前      

或者:
  

        {   “代码”:401年,   “消息”:“未登录”,   “数据”:零   }   之前      

<强> RESTful风格的异常接管
  

     //参数说明(错误信息,错误代码)   把新ServiceException(“未登录”,401年);//你也可以返回错误代码   把新ServiceException(10404年,“服务器维护中”,404年),之前      

返回结果示例:
  

        {   “代码”:401年,   “消息”:“未登录”,   “数据”:零   }   之前      

或者:
  

        {   “代码”:404年,   “消息”:“服务器维护中”,   “数据”:10404   }   之前      

<>强基于JWT的认证机制
  

        @ autowired   私人TokenService TokenService;//生成负载   Object> Map<字符串;有效载荷=new HashMap<字符串,Object> ();   payload.put (" id ", 1);//生成令牌   tokenService.generate (TokenType。访问,有效载荷,1);//格式化令牌   字符串标记=getYourToken ();   tokenService.parse(令牌);//返回的结果是一个Jwt对象,详见JJWT文档   Auth注解   Auth注解用于获取当前用户的令牌中的userId,在获取的同时会自动校验用户令牌,若用户未登录则会抛出未登录的异常。//在控制器中使用   @PostMapping (/user/1/编辑)   公共结果编辑(@Auth int userId, @ResponseBody sthPosted) {//根据ID判断权限   }

SpringBoot2.1 RESTful API项目脚手架(种子)项目