记录一个swagger的坑

  • List item
    springboot项目添加swagger,配置完成后,访问swagger页面出现
    unable to infer base url .this is common when using dynamic servlet regisrat.
    如图:
    swagger访问报错
    经过一番百度,各种尝试之后,找到了原因:
    代码中使用**@ControllerAdvice(或@RestControllerAdvice)**了对返回结果的统一封装(json格式化),导致返回的json格式和swagger要求的结果不同,所以swagger一直报错。

解决办法:指定该注解的包扫描路径,让它只扫描controller包。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,生成Swagger的实体类和controller的过程如下: 1. 首先需要在项目的pom.xml文件中添加Swagger的依赖,如下所示: ``` <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> ``` 2. 在Spring Boot的启动类上添加@EnableSwagger2注解,启用Swagger: ``` @SpringBootApplication @EnableSwagger2 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 3. 创建实体类,并使用Swagger的注解来描述实体类: ``` @ApiModel(description = "用户信息") public class User { @ApiModelProperty(value = "用户ID", example = "1") private Long id; @ApiModelProperty(value = "用户名", example = "张三") private String name; @ApiModelProperty(value = "年龄", example = "18") private Integer age; // 省略getter和setter方法 } ``` 4. 创建控制器,并使用Swagger的注解来描述控制器和接口: ``` @RestController @RequestMapping("/users") @Api(tags = "用户管理") public class UserController { @PostMapping("") @ApiOperation(value = "创建用户") public User createUser(@RequestBody @ApiParam(value = "用户信息") User user) { // 创建用户的逻辑 } @GetMapping("/{id}") @ApiOperation(value = "查询用户") public User getUser(@PathVariable Long id) { // 查询用户的逻辑 } // 省略其它接口 } ``` 5. 启动项目,并访问http://localhost:8080/swagger-ui.html,即可看到Swagger的UI界面,可以通过界面来测试接口。 以上就是生成Swagger的实体类和controller的过程,希望能帮到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值