为什么参考网上教程的整合不了swagger,springboot整合swagger,springfox(其实也是swagger只是是v3版本)

今天研究了挺久swagger,以下有参考的博客,也有说一些今天遇到整合不了的问题,解决方法!

使用swagger2和ui直接依赖整合可参考:
https://my.oschina.net/wangnian/blog/666017
可以将其抽出来创建一个config包,创建类然后注入@Bean照样复制过去就可以,加上@Configuration,而开启Swagger的注解类最好保留在主类,springboot会自动扫描到这个类,同时注意依赖的版本要在3以下,这样就可以修改文档相关的信息。
https://www.cnblogs.com/jtlgb/p/8532433.html

而本文章的apiInfo()的私有方法,其实有两种创建方式里面都有了,一种也是构建者模式创建,有一个是走的全参数有参构造的方式 ,上面的使用全参数。用这个方法,注意apiInfo()方法别改名字,如果改了名字要注意写的.build()方法和apiInfo()顺序,最好别动人家的,就构造一个Docket就好,你两个都构造,容易玩脱了。
https://www.cnblogs.com/jtlgb/p/8532433.html

注意要点,这个其实采用的构建者模式创建的swagger,如果出现编译问题,检查.build()方法和apiInfo()方法顺序,构建apiInfo()方法有没有出现循环调用。

以上方法其实都是可以正常@Bean注入的。

而以下

使用springfox整合
http://blog.didispace.com/spring-boot-learning-21-2-7/
注意使用这个整合springboot使用版本不能太低,最好2.2以上,这个用法其实和swagger2和ui用法一样,只是开启注解变了,使用的@EnableOpenApi,其他配置还是可以用的,特别是上述参考没有演示自定义文档内容,这个可以参考上一部分创建配置类方法。但是api地址和上面有所变化,访问这一个,细心看就发现目录多了一级:
http://localhost:8080/swagger-ui/index.html/

没有加载到接口出来,注意看是不是自己设置了扫描包,但是自己创建的不是那一个扫描包,就不演示了。其实不难,最重要是动手。

如果像实现按照环境加载的文档页面的话,可以使用注解配置环境,以下网址也有解决方案啊,可参考:
https://www.bilibili.com/video/av75233634?p=49

再分享一个使用yml配置的
https://blog.csdn.net/z28126308/article/details/84187221
使用yaml配置注意点就注意如果混用java配置类,有可能出现失效的问题。

好啦基本上摸索出现的问题和解决方法都在这了,如果有空的时候,可能会进一步整理,就将就着看吧。动手了,思考了的你一定能解决自己遇见的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
slf4j是一个日志框架,而Swagger是一个API文档生成工具,它们之间并没有直接的整合关系。不过,我们可以通过在项目中引入swagger-core和swagger-annotations依赖,然后在代码中使用注解来生成API文档,并且使用slf4j来记录日志。 具体实现步骤如下: 1. 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-core</artifactId> <version>2.1.5</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> <version>2.1.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ``` 2. 在代码中使用swagger注解来生成API文档,例如: ``` @GET @Path("/{id}") @Produces(MediaType.APPLICATION_JSON) @ApiOperation(value = "Get user by ID", notes = "Returns a user by ID", response = User.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Successful retrieval of user entity", response = User.class), @ApiResponse(code = 404, message = "User entity not found"), @ApiResponse(code = 500, message = "Internal server error")}) public Response getUserById( @ApiParam(value = "ID of user to return", required = true) @PathParam("id") Long id) { User user = userService.getUserById(id); if (user == null) { throw new NotFoundException("User not found"); } return Response.ok(user).build(); } ``` 3. 在代码中使用slf4j来记录日志,例如: ``` private static final Logger LOGGER = LoggerFactory.getLogger(UserService.class); public User getUserById(Long id) { LOGGER.info("Getting user by ID: {}", id); return userRepository.findById(id); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值