springboot(十四)swagger

102 阅读1分钟

增加依赖

<dependency>  
    <groupId>org.springdoc</groupId>  
    <artifactId>springdoc-openapi-ui</artifactId>  
    <version>1.7.0</version> <!-- 确保版本与 Spring Boot 2.x 兼容 -->  
</dependency>

配置

application.yml

springdoc:
  api-docs:
    path: /v3/api-docs
  swagger-ui:
    path: /swagger-ui.html

controller

@RestController
@RequestMapping("user")
@Slf4j
@Tag(name = "用户管理", description = "用户管理相关接口")
public class UserController {
    @Resource
    private UserService userService;
    @GetMapping("/query-list")

    @Operation(
            summary = "获取所有用户",
            description = "获取所有用户信息",

            requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody(
                description = "用户信息",
                required = true,
                content = {
                        @Content(
                                mediaType = "application/json",
                                schema = @Schema(implementation = UserQueryReq.class)
                        )
            }),
            responses = {
                @ApiResponse(
                        responseCode = "200",
                        description = "响应成功",
                        content = @Content(
                                mediaType = "application/json",
                                schema = @Schema(
                                        title = "UserQueryReq和PageResp组合模型",
                                        description = "返回实体,AjaxResult内data为" +
                                                "UserQueryReq模型(并且PageResp为集合)",
                                        anyOf = {UserQueryReq.class, PageResp.class})

                        )
                )
            }
    )
    public CommonResp<PageResp<UserQueryResp>> queryList(
            @Parameter(description = "用户实体", required = true,
                    examples = @ExampleObject(
                    name = "example",
                    summary = "示例用户查询请求体",
                    value = "{\"name\":\"张\", \"pageNum\":1, \"pageSize\":10}"
            ))
            @Valid @RequestBody UserQueryReq req) {
        PageResp<UserQueryResp> list = userService.queryList(req);
        return new CommonResp<>(list);
    }

    @PostMapping("/save")
    @Operation(summary = "保存用户", description = "保存用户信息")
    public CommonResp<Object> save(@Valid @RequestBody UserSaveReq req) {
        userService.save(req);
        return new CommonResp<>();
    }

    @PutMapping("/update")
    @Operation(summary = "修改用户", description = "修改用户信息")
    public CommonResp<Object> update(@Valid @RequestBody UserUpdateReq user) {
        userService.update(user);
        return new CommonResp<>();
    }

    @DeleteMapping("/delete/{id}")
    @Operation(summary = "删除用户", description = "删除用户信息")
    public CommonResp<Object> update( @Parameter(description = "用户id",example = "1",required = true)  @PathVariable Integer id) {
        userService.delete(id);
        return new CommonResp<>();
    }
}

演示

打开 http://localhost:18088/swagger-ui/index.html#/

image.png

image.png

参考

www.cnblogs.com/antLaddie/p…