- 用spring boot搭建一个简单的web项目(建一个maven项目依赖spring boot的项目即可),编写一个启动类。
1.spring boot依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> |
2.启动类
@SpringBootApplication public class SwaggerApplication { public static void main(String[] args) { SpringApplication.run(SwaggerApplication.class, args); } } |
- 添加swagger依赖
<!-- swaggers2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version> </dependency> |
- spring注解方式编写一个swagger的配置类
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket getDocket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.ignitetest.test.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Swagger測試")//標題 .description("swagger簡單測試")//説明 .contact("xxxxxxxx@163.com")//聯係 .version("1.0")//版本 .build(); } } |
- 编写一个简单的接口
@RestController("/cities") public class SwaggerController { private Map<String,City> cities = new HashMap<>(); @ApiOperation(value="新增一个城市",notes="根据提交的信息新增一个城市") @ApiImplicitParam(name="city",value="要增加的城市信息") @RequestMapping(value="addStudent",method=RequestMethod.POST) public String addCity(@RequestBody City city) { cities.put(city.getId().toString(), city); return "add city successfully"; } @ApiOperation(value="删除一个城市",notes="根据id删除一个城市") @ApiImplicitParam(name="city",value="要删除的城市信息") @RequestMapping(value="delStudent",method=RequestMethod.DELETE) public String delCity(@RequestBody City city) { cities.remove(city.getId().toString()); return "remove city successfully"; } @ApiOperation(value="查询所有城市") @ApiImplicitParam(name="city",value="查詢所有城市") @RequestMapping(value="getAllCity",method=RequestMethod.GET) public String getAllCity(@RequestBody City city) { return JSONObject.toJSONString(cities); } } |
- 启动spring boot访问http://localhost:8080/swagger-ui.html,即可简单如下页面
-
总结:swagger基于restful风格的请求方式,不仅可以应用到实际开发中,还可用于接口测试、生成了一个完善的api说明!