SpringBoot2.1 проект строительных лесов (seed)

Spring Boot

адрес проекта:GitHub.com/o куб XO/SPR…

Проект обновлен до версии 2.0.0 BetaПросмотр обновлений

Введение

Это каркас для создания проектов RESTful API на основе SpringBoot 2.1.1 RELEASE.Вы можете начать писать бизнес-код всего за три минуты, и вам больше не нужно беспокоиться о создании проектов и унификации стилей.

быстрый старт

  1. построить базу данных
  2. бегать/src/testвнизCodeGenerator.javaделать генерацию кода
  3. Начните писать бизнес-код

Встроенные функции и использование

Генератор результатов в стиле RESTful

1. Успешный результат без данных

// 不带数据的成功结果
return new Result().success();

Пример возвращаемого результата:

{
    "code": 200,
    "message": "Success",
    "data": null
}

2. Успешный результат с возвращенными данными

return new Result().success("Hello,world");

// 当然你也可以返回对象或其他类型的数据
User user = new User();
return new Result().success(user);

Пример возвращаемого результата:

{
    "code": 200,
    "message": "Success",
    "data": "Hello,world"
}

или:

{
    "code": 200,
    "message": "Success",
    "data": {
        "name": "jack",
        "age": 20
    }
}

3. Неверный результат:

// fail方法的参数(错误代码,错误信息)
return new Result().fail(10400, "登陆失败,密码错误");

// 你还可以自定义错误结果的code
return new Result().fail(null, "未登录", 401);

Пример возвращаемого результата:

{
    "code": 400,
    "message": "登陆失败,密码错误",
    "data": 10400
}

или:

{
    "code": 401,
    "message": "未登录",
    "data": null
}

Перехват исключений в стиле RESTful

// 参数说明(错误信息, 错误Code)
throw new ServiceException("未登录", 401);

// 你也可以返回错误代码
throw new ServiceException(10404, "服务器维护中", 404);

Пример возвращаемого результата:

{
    "code": 401,
    "message": "未登录",
    "data": null
}

или:

{
    "code": 404,
    "message": "服务器维护中",
    "data": 10404
}

Механизм аутентификации на основе JWT

@Autowired
private TokenService tokenService;

// 生成Payload
Map<String,Object> payload = new HashMap<String,Object>();
payload.put("id",1);
// 生成Token
tokenService.generate(TokenType.ACCESS, payload, 1);


// 格式化Token
String token = getYourToken();
tokenService.parse(token); // 返回的结果是一个Jwt对象,详见JJWT文档

Аннотация авторизации

Аннотация Auth используется для получения userId в токене текущего пользователя, и токен пользователя будет автоматически проверен при его получении.Если пользователь не вошел в систему, будет выдано исключение не вошел в систему.

// 在controller中使用
@PostMapping("/user/1/edit")
public Result edit(@Auth int userId, @RequestBody sthPosted) {
    // 根据ID判断权限
}

обновить содержимое:

  1. Более подробная и исчерпывающая функциональная документация
  2. Рефакторинг части кода
  3. Добавить больше захватов исключений
  4. Добавлена ​​автоматическая вставка дат создания и обновления (на основеВозможности MybatisPlus)
  5. Оптимизация структуры кода и модульность функциональных частей для последующего обслуживания или обновления до проектов SpringCloud.
  6. Повышение надежности кода аннотации @Auth