【JAVA】Spring3.x中的swagger配置基础教程

张开发
2026/4/22 19:58:56 15 分钟阅读

分享文章

【JAVA】Spring3.x中的swagger配置基础教程
在学习spring3.x版本的mybatis-plus的时候使用swagger做接口文档发现项目起不来结果是Knife4j用的还是之前spring2,x的版本导致一直报错Knife4j官网文档配置代码com.gaofeng.config.Knife4jConfigpackagecom.gaofeng.config;importio.swagger.v3.oas.models.OpenAPI;importio.swagger.v3.oas.models.info.Info;importio.swagger.v3.oas.models.info.License;importorg.springdoc.core.models.GroupedOpenApi;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;Configuration// 启用 Swagger2publicclassKnife4jConfig{BeanpublicOpenAPIcustomOpenAPI(){returnnewOpenAPI().info(newInfo().title(外太空ai智能体接口管理系统).version(1.0.0).contact(newio.swagger.v3.oas.models.info.Contact().email(596642721qq.com).name(gaofeng)).description(Knife4j集成springdoc-openapi示例).termsOfService(http://doc.xiaominfo.com).license(newLicense().name(Apache 2.0).url(http://doc.xiaominfo.com)));}BeanpublicGroupedOpenApiapi4(){returnGroupedOpenApi.builder().group(regularGrade-module-api).pathsToMatch(/users/**).displayName(后台管理系统的用户模块接口).packagesToScan(com.gaofeng.mp.controller)//xxx1模块接口所在包.build();}}输入localhost:8080显示效果c层的显示packagecom.gaofeng.mp.controller;importcom.gaofeng.mp.domai.po.User;importcom.gaofeng.mp.services.IUserService;importio.swagger.v3.oas.annotations.Operation;importio.swagger.v3.oas.annotations.Parameter;importio.swagger.v3.oas.annotations.Parameters;importio.swagger.v3.oas.annotations.enums.ParameterIn;importio.swagger.v3.oas.annotations.tags.Tag;importlombok.RequiredArgsConstructor;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;RestControllerRequestMapping(users)Tag(name用户信息接口)publicclassUserController{privateIUserServiceuserService;Operation(summary根据id获取用户)Parameters({Parameter(nameid,description用户id,inParameterIn.PATH)})GetMapping(/{id})publicUsergetUserById(PathVariableLongid){returnuserService.getById(id);}}dto层packagecom.gaofeng.mp.domai.dto;importio.swagger.v3.oas.annotations.Parameter;importlombok.Data;DatapublicclassUserFormDTO{Parameter(description用户id)privateLongid;Parameter(description用户名)privateStringusername;privateStringpassword;privateStringphone;privateStringinfo;privateIntegerbalance;}具体的字段注解可以参考官网完整的实例跟spring2.x的语法已经完全不一样了破坏性的更新application.ymlspringdoc:api-docs:enabled:truepath:/v3/api-docsswagger-ui:enabled:truepath:/swagger-ui.htmlknife4j:enable:truesetting:language:zh_cn启动成功

更多文章