Skip to content

xmagic-api使用说明

当前版本 1.0.8

JDK版本 JDK17

SpringBoot版本 3.3.7

添加依赖

xmagic-api,通用的快速开发微服务的基础框架。

Maven

xml

<dependency>
  <groupId>tech.xmagic</groupId>
  <artifactId>xmagic-api</artifactId>
</dependency>

Gradle

groovy

使用

Controller

java
@Tag(name = "API测试")
@RequestMapping("/api")
public class ApiController {
    @Operation(summary = "数据查询测试", description = "数据查询测试")
    @GetMapping()
    public Result<User> selectOne() {
        return Result.success(new User("0000", "test", null));
    }

    @Operation(summary = "返回失败", description = "返回失败")
    @GetMapping("/fail")
    public Result<Void> fail() throws SysException {
        throw new SysException("自定义错误提示");
    }
}
java
@Tag(name = "Result返回测试")
@ApiRestController
@RequestMapping("/result")
public class ResultController {

    @Operation(summary = "返回-成功-无数据", description = "返回-成功-无数据")
    @GetMapping(value = "/success")
    @ResponseBody
    public Result<Void> success() {
        return Result.success();
    }

//    @Operation(summary = "返回-成功-状态", description = "返回-成功-状态")
//    @GetMapping(value = "/success/code")
//    @ResponseBody
//    public Result<Void> successCode() {
//        return Result.success(ResultCode.FAILURE);
//    }


    @Operation(summary = "返回-成功-有数据", description = "返回-成功-有数据")
    @GetMapping(value = "/success/data")
    @ResponseBody
    public Result<User> successData() {
        User user = new User("megn2c", "123456", null);
        return Result.success(user);
    }

    @Operation(summary = "返回-成功-字符串", description = "返回-成功-字符串")
    @GetMapping(value = "/success/string")
    @ResponseBody
    public Result<String> successString() {
        return Result.success("hahah");
    }
//    @Operation(summary = "返回-成功-状态-数据", description = "返回-成功-状态-数据")
//    @GetMapping(value = "/success/code/data")
//    @ResponseBody
//    public Result<User> successCodeDate() {
//        User user = new User("megn2c", "123456", null);
//        return Result.success(ResultCode.FAILURE, user);
//    }

    @Operation(summary = "返回-失败-无错误描述", description = "返回-失败-无错误描述")
    @GetMapping(value = "/failure")
    @ResponseBody
    public Result<Void> failure() {
        return Result.failure();
    }

    @Operation(summary = "返回-失败-有错误描述", description = "返回-失败-有错误描述")
    @GetMapping(value = "/failure/error")
    @ResponseBody
    public Result<Void> failureError() {
        return Result.failure("这是详细的错误描述");
    }

    @Operation(summary = "返回-失败-自定义编码-无错误描述", description = "返回-失败-自定义编码-无错误描述")
    @GetMapping(value = "/failure/code")
    @ResponseBody
    public Result<Void> failureCode() {
        return Result.failure(ResultCode.VALIDATION_FAILURE);
    }

    @Operation(summary = "返回-失败-自定义编码-有错误描述", description = "返回-失败-自定义编码-有错误描述")
    @GetMapping(value = "/failure/code/error")
    @ResponseBody
    public Result<Void> failureCodeError() {
        return Result.failure(ResultCode.VALIDATION_FAILURE, "这是详细的错误描述");
    }

    @Operation(summary = "返回-错误-自定义编码-无错误描述", description = "返回-错误-自定义编码-无错误描述")
    @GetMapping(value = "/error")
    @ResponseBody
    public Result<Void> errorCode() {
        return Result.error(ResultCode.API_EXCEPTION);
    }

    @Operation(summary = "返回-错误-自定义编码-有错误描述", description = "返回-错误-自定义编码-有错误描述")
    @GetMapping(value = "/error/error")
    @ResponseBody
    public Result<Void> errorCodeError() {
        return Result.error(ResultCode.API_EXCEPTION, "这是详细的错误描述");
    }

    @Operation(summary = "返回-错误-抛出异常", description = "返回-错误-返回-错误-抛出异常")
    @GetMapping(value = "/exception")
    @ResponseBody
    public Result<Void> exception() {
        throw new SysException("错误描述");
    }

    @Operation(summary = "返回-基本数据类型", description = "返回-基本数据类型")
    @GetMapping(value = "/primitive")
    public User primitive() {
        return new User("megn2c", "123456", null);
    }
}