在项目中使用swagger便于管理接口,方便测试
- 首先在web.xml中初始化载入
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>apidoc.root</param-value>
</context-param>
- 2在pom.xml导入相应的jar包
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>0.9.5</version>
</dependency>
- 3 在spring-swagger.xml文件中配置
<bean class="com.baozun.common.MySwaggerConfig" />
对应的配置类:
@Configuration
@EnableWebMvc//如果没加这个会报错
@EnableSwagger//上面三个注释都是必要的,无添加便会出现莫名奇妙的错误
//@ComponentScan(basePackages="com.baozun.web")//添加这个注释,会自动扫描该类中的每一个方法自动生成api文档,就是controller层
public class MySwaggerConfig {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
{
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation()
{
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(
".*?");
}
private ApiInfo apiInfo()
{
ApiInfo apiInfo = new ApiInfo(
"ehr系统API接口管理",
"各个controller下对应相应业务接口",
"My Apps API terms of service",
"任何问题可联系baozun.com",
null,
null);
return apiInfo;
}
}
- 4 在controller层使用swagger
@Controller
@RequestMapping("login")
@Api(description="登录模块", value = "注册版块")//添加注释
public class LoginController {
@ResponseBody
@ApiOperation(value = "登录系统", httpMethod = "POST",response = ResponseMessage.class, notes = "logout")
public ResponseMessage doLogin( @ApiParam(value="用户账户和密码",name="TbUser")
}
6.最后是需要引入一系列swagger-ui的css文件和js文件,需要从git上下载,https://github.com/swagger-api/swagger-ui下载其中的src文件夹中的内容即可
7.直接打开tomcat,访问apidoc.html就可以看到生成的接口文档,如果想进行 中文化,下载具体对应的js文件即可,