整合spring boot + Mybatis (一)搭建环境,返回restful API

这里写自定义目录标题

  • 整合spring boot + Mybatis
    • 一 新建工程
    • 二、返回restful API

整合spring boot + Mybatis

每次新项目启动,都拿老项目出来删删改改,抽空写个简易版的注册,登录, token 加密,接口拦截。本篇文章整合spring boot+mybatis, 适用新项目启动。后续在此框架上再陆续加上其他功能,如本地缓存管理等。我用的IDE是STS 4

一 新建工程

整合spring boot + Mybatis (一)搭建环境,返回restful API_第1张图片

  1. File -> New Spring Starter Project
    整合spring boot + Mybatis (一)搭建环境,返回restful API_第2张图片

  2. 选必要的几个依赖,点击完成后下载对应的包。
    整合spring boot + Mybatis (一)搭建环境,返回restful API_第3张图片

  3. 启动项目
    整合spring boot + Mybatis (一)搭建环境,返回restful API_第4张图片

  4. 访问http://localhost:8080/ 即可,说明已经启动。下一步写个接口返回数据
    整合spring boot + Mybatis (一)搭建环境,返回restful API_第5张图片
    如果需要给访问路径加一个前缀,比如,http://localhost:8080/hiboot, 只需要配置application.properties:
    server.servlet.context-path=/hiboot
    修改端口
    server.port=8881

  5. 外化配置
    工作中,通常我们有开发环境,测试环境,生产环境,可以通过外化配置来指定当前对应的环境。在application.properties指定对应的环境,比如我们指定当前为dev环境:
    spring.profiles.active=dev
    在这里插入图片描述

二、返回restful API

此部分主要写一个接口,返回json格式数据。包括:
1、统一封装返回类型,以DataResponse返回。
2、封装错误码

  1. 新建package, 包名为controller:

@RestController
@RequestMapping("user")
public class UserController {
   
   @GetMapping("/sayhi")
   public String sayHello() {
   	return "hi, gdp2852";
   }
   }
  1. 访问路径: http://localhost:8080/user/sayhi

为了方便前端,统一返回数据格式,封装了返回类型: DataResponse。

@Getter
@Setter
public class DataResponse <T> implements Serializable {
    private static final int SUCCESS = 0;
    private static final int DEFAULT_FAIL = 1;
    private static final String DEFAULT_SUCCESS_MSG = "处理成功";
    private static final String DEFAULT_FAILURE_MSG = "处理失败";

    private int errcode;
    private String errmsg;
    private T data;

    private DataResponse(int errcode, String errmsg, T data) {
        this.errcode = errcode;
        this.errmsg = errmsg;
        this.data = data;
    }
    
    public static <T> DataResponse<T> buildSuccess() {
        return new DataResponse<>(SUCCESS, DEFAULT_SUCCESS_MSG, null);
    }

    public static <T> DataResponse<T> buildSuccess(T data) {
        return new DataResponse<>(SUCCESS, DEFAULT_SUCCESS_MSG, data);
    }

    public static <T> DataResponse<T> buildSuccess(String succMsg, T data) {
        return new DataResponse<>(SUCCESS, succMsg, data);
    }
	
	public static <T> DataResponse<T> buildFail(BizException ex) {
		return new DataResponse<>(ex.getErrorCode(), ex.getErrorMsg(), null);
	}
	

    public static <T> DataResponse<T>  buildFail() {
        return new DataResponse<>(DEFAULT_FAIL, DEFAULT_FAILURE_MSG, null);
    }

    public static <T> DataResponse<T> buildFail(String msg) {
        return new DataResponse<>(DEFAULT_FAIL, msg, null);
    }

    public static <T> DataResponse<T> buildFail(int code, String msg) {
        return new DataResponse<>(code, msg, null);
    }

    public static <T> DataResponse<T> buildFail(int code, String msg, T data) {
        return new DataResponse<>(code, msg, data);
    }

}

你可能感兴趣的:(Java,spring,boot,mybatis,java)