由于我们在使用springboot集群时接口的调用比较多,文档整理起来也比较麻烦,所以我们整合一下自动生成api那不就很方便了,只要方法已经生成或者修改,接口都会出现自动更新,这样就让我们很方便的使用了,那么接下来我们就是去实现它:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
加入swagger包,然后在Application同级目录下创建一个Swagger2类:
@Configuration //让spring来加载该配置
@EnableSwagger2 //开启swagger
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select() //设置方法暴露,这里可以在方法上添加@ApiIgnore注解不让方法暴露给别人
.apis(RequestHandlerSelectors.basePackage("com.example.demo")) //定义扫描的包
.paths(PathSelectors.any()) //定义拦截所有的url
.build();
}
}
这样我们的准备工作都完成了,接下来就要生成方法的文档了:
接下来我们创建一个UserController:
@RestController
@RequestMapping("/user")
public class UserController {
@ApiOperation(value="获取用户名字!",notes="根据url的id来获取用户详细信息") //这里定义接口的作用的
@ApiImplicitParam(name="user",value="用户",required=true) //这是传值的类型
@RequestMapping(value="/getName",method=RequestMethod.POST)
public User getUserName(@RequestBody User user) {
//User user=new User();
user.setId(Long.valueOf(123));
user.setName("han");
user.setAge(12);
return user;
}
这里的user是一个实体类,自己可以随便创建;这里的@RequestBody是必须的,如果不添加,他会把你对象里面所有的属性作为参数传值一遍;
接下来就是启动项目访问了:
到这里基本就会用了;