快速入门
1. 简介
czh-tool 基于SpringBoot一款快速单体框架里面集成了快速开发需要的环境架构代码集成工具,提供注解式开发快速搭建框架增强功能,使用czh-tool不仅可以节省大量的时间,还可以提高代码质量,使代码逻辑更清晰。
零学习门槛,十秒钟上手!
GitHub仓库地址:https://github.com/15139467313/czh-tool
欢迎试用和star!
2. 快速入门 (仅支持SprinBoot2x版本不支持3x版本)
3.1 引入czh-tool组件
czh-tool已发布至maven中央仓库,我们可以直接引入到项目中。
maven依赖如下:
xml
java
//仅支持sprinboot2x版本不支持3x版本
<dependency>
<groupId>io.github.15139467313</groupId>
<artifactId>czh-tool</artifactId>
<version>0.3.0</version>
</dependency>
3.2 启用czh-tool
在启动类中引入@ EnableCzhTool注解,即可启用czh-tool组件。
java
@EnableCzhTool
@SpringBootApplication
public class ExampleApplication {
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
}
3.2 Controller层
引入czh-tool后,我们不需要再手工进行查询结果的封装,直接返回实际结果即可,czh-tool会自动完成封装的操作。
java
package com.example.demo.controller;
import com.czh.tool.czh.tool.valid.AddGroup;
import com.example.demo.domain.QueryVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @ClassNAME TestController
* @Description TODO
* @Author czh
* @Date 2024/5/18 14:22
* @Version 1.0
*/
@RestController
public class TestController {
@GetMapping("/list")
public void list() {
}
@GetMapping("/listData")
public QueryVo listData() {
QueryVo queryVo = new QueryVo();
queryVo.setCompanyName("测试");
return queryVo;
}
}
json
java
{
"code": 200,
"message": "请求成功",
"data": null
}
json
java
{
"code": 200,
"message": "请求成功",
"data": {
"id": null,
"companyName": "测试"
}
}
在示例代码中,Controller层的方法直接返回了QueryVo对象,没有进行封装的操作,但经过处理后,我们还是得到了以下的响应结果。
3.3 自定义返回
自定义成功码和失败码通过yml配置
java
czh:
tool:
error:
code: 501
message: 501
success:
code: 1200
message: 200
success | error |
---|---|
code | 成功码/错误码 |
message | 成功提示信息/错误提示信息 |
3.4 参数校验
新增参数模版 实体类的字段中指定校验组是AddGroup或UpdateGroup
java
/**
* @ClassNAME User
* @Description TODO
* @Author czh
* @Date 2024/5/18 14:23
* @Version 1.0
*/
public class QueryVo {
/**
* id
*/
@Null(message = "新增不能指定id",groups = {AddGroup.class})
@NotBlank(message= "修改id不能为空",groups = {UpdateGroup.class})
private String id;
/**
* 公司名称
*/
@NotBlank(message = "公司名称不能为空",groups = {AddGroup.class,UpdateGroup.class})
private String companyName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
3.3 Controller层
Controller层示例如下
新增校验
/**
* @return: void
* @description: 新增接口
* @author: czh
* @date: 2024/1/8 15:57
**/
@PostMapping("/add")
public void add(@RequestBody @Validated({AddGroup.class} QueryVo queryVO) {
}
在示例代码中,Controller层的方法要接受前端参数校验只需要指定需要校验的组即可
json
{
"msg": "参数校验失败",
"code": 500,
"data": {
"companyName": "公司名称不能为空",
"id": "新增不能指定id"
}
}
修改校验
/**
* @return: void
* @description:修改接口
* @author: czh
* @date: 2024/1/8 15:57
**/
@PutMapping("/update")
public void update(@RequestBody @Validated({UpdateGroup.class}) QueryVo queryVO) {
}
在示例代码中,Controller层的方法要接受前端参数校验只需要指定需要校验的组即可
json
{
"msg": "参数校验失败",
"code": 500,
"data": {
"id": "修改id不能为空"
}
}