адрес проекта:GitHub.com/o куб XO/SPR…
Проект обновлен до версии 2.0.0 BetaПросмотр обновлений
Введение
Это каркас для создания проектов RESTful API на основе SpringBoot 2.1.1 RELEASE.Вы можете начать писать бизнес-код всего за три минуты, и вам больше не нужно беспокоиться о создании проектов и унификации стилей.
быстрый старт
- построить базу данных
- бегать
/src/test
внизCodeGenerator.java
делать генерацию кода - Начните писать бизнес-код
Встроенные функции и использование
Генератор результатов в стиле 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判断权限
}
обновить содержимое:
- Более подробная и исчерпывающая функциональная документация
- Рефакторинг части кода
- Добавить больше захватов исключений
- Добавлена автоматическая вставка дат создания и обновления (на основеВозможности MybatisPlus)
- Оптимизация структуры кода и модульность функциональных частей для последующего обслуживания или обновления до проектов SpringCloud.
- Повышение надежности кода аннотации @Auth