Skip to content

快速入门

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": "测试"
    }
}

image-20240519020112850

image-20240519020300813

在示例代码中,Controller层的方法直接返回了QueryVo对象,没有进行封装的操作,但经过处理后,我们还是得到了以下的响应结果。

3.3 自定义返回

自定义成功码和失败码通过yml配置

image-20240519021116225

java
czh:
  tool:
    error:
      code: 501
      message: 501
    success:
      code: 1200
      message: 200
successerror
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"
    }
}

image-20240518213637970

修改校验

    /**
     * @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不能为空"
    }
}

image-20240519022110535

Released 1.0.1