基于springboot的javaWEB项目生成Swagger API文档。
1.Swagger 可以生成restful接口文档以及可以完成简单的调用。
<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>
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.basePackage("com.neo.controller"))//扫描的包
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("基于springboot Swagger接口服务API")//大标题
.description("构建基于restful服务API,不仅提供了在线文档的查阅,而且还提供了在线文档的测试")
.version("1.0")//版本
.contact(new Contact("J", "http://mp.blog.csdn.net/postedit", "654547532@qq.com"))
.termsOfServiceUrl("NO terms of service")//服务协议
.build();
}
Swagger注解的一些作用
Api:修饰整个类,描述Controller的作用
ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述作用
ApiModel:用对象来作为参数接收
ApiProperty:用对象接收参数时,描述对象的某一个字段
ApiResponses:HTTP响应整体描述
ApiResponse:HTTP响应其中1个描述
ApiIgnore:忽略这个API (方法、类)
4.Swagger使用样例@RestController
@RequestMapping("/swagger")
public class SwaggerDemoController {
@RequestMapping(value = "/modelTest", method = RequestMethod.POST)
public ModelMap modelTest(@RequestParam("name") String demoName, @RequestParam String content) {
ModelMap map = new ModelMap();
map.addAttribute("name",demoName );
map.addAttribute("content",content );
map.addAttribute("date",new Date());
return map;
}
@PostMapping(produces= MediaType.APPLICATION_JSON_VALUE)
public String test7(@RequestParam("name")String name){
return JSONObject.quote("name:"+name);
}
@GetMapping
public String test8(@RequestParam(value = "name",required = false)String name){
return JSONObject.quote("name:"+name);
}
@ResponseBody
@RequestMapping(value = "/listTest", method = RequestMethod.POST)
public List<String> listTest(HttpServletRequest request,
HttpServletResponse response) {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("你好");
return list;
}
}
5.Swagger生成API