springmvc 配置swagger ui 生成接口文档

本文档介绍了如何在Springmvc项目中配置Swagger UI,版本为1.0.2。步骤包括在pom.xml中引入依赖,修改index.html的URL路径,尤其注意若dispatchServlet拦截路径为/*或特定扩展名,需要将url-mapping改为/。完成配置后,启动项目即可通过Swagger UI查看所有接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

swagger version :1.0.2

1.pom.xml

<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-models</artifactId>
    <version>1.0.2</version>
</dependency>
<dependency>
    <groupId>com.wordnik</groupId>
    <artifactId>swagger-annotations</artifactId>
    <version>1.3.11</version>
</dependency>
<!-- swagger-springmvc dependencies -->

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.4.4</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.4</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.4</version>
</dependency>

<dependency>
    <groupId>com.fasterxml</groupId>
    <artifactId>classmate</artifactId>
    <version>1.1.0</version>
</dependency>
2,配置swaggerconfig
SwaggerConfig
@EnableWebMvc
@Configuration
@EnableSwagger
public class SwaggerConfig {

   @Autowired
   private SpringSwaggerConfig springSwaggerConfig;

   @Bean
   public SwaggerSpringMvcPlugin customImplementation() {
      return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(".*?");
   }

   private ApiInfo apiInfo() {
      ApiInfo apiInfo = new ApiInfo("My Apps API Title", "My Apps API Description", "My Apps API terms of service", "13667203681@163.com", "My Apps API Licence Type", "My Apps API License URL");
      return apiInfo;
   }
}
有的不需要下边那个注解
@EnableWebMvc
3,到github上下载swagger-ui.git包,将dist拷贝出来,webapp下

4,改index.html中的url路径

var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
  url = decodeURIComponent(url[1]);
} else {
 url="http://localhost:8888/xxx/api-docs";
 // url = "http://petstore.swagger.io/v2/swagger.json";
}
5,可选:写一个controller测试

@Controller
@RequestMapping("/user")
public class SuserController {

   @Autowired
   private CustomerService userService;

   /**
    * 根据用户名获取用户对象
    */
   @RequestMapping(value = "/getUserByUserName/{name}", method = RequestMethod.GET)
   @ResponseBody
   @ApiOperation(value = "根据用户名获取用户对象", httpMethod = "GET", response = ApiResult.class, notes = "根据用户名获取用户对象")
   public ApiResult getUserByName(@ApiParam(required = true, name = "name", value = "用户名") @PathVariable int name) throws Exception {
      Customer user = userService.get(name);
      if (user != null) {
         ApiResult result = new ApiResult();
         result.setCode(0);
         result.setMessage("success");
         result.setData(user);
         return result;
      } else {
         throw new Exception("根据{name=" + name + "}获取不到User对象");
      }
   }
}

6,如果配置了dispatchservlet的拦截路径时/*,或*.html或*.json的话,将url-mapping改为/,否则会swagger UI 页面展示不出来。当然你也可以用其他办法走*.html.


7,启动项目,你就会看到你的swagger UI页面能看到所有的接口了。



哈哈,有什么问题可以直接联系我哦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值