您的位置:首页 > 其它

SSM框架基于swagger2实现API管理

2017-11-14 14:21 477 查看

SSM框架基于swagger实现API管理

swagger官网:

https://swagger.io/docs/



1.添加maven依赖

<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swaggger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swaggger.version}</version>
</dependency>


2.下载swagger

https://swagger.io/download-swagger-ui/



3.配置SwaggerConfig

/**
* @Author: CatalpaFlat
* @Descrition:
* @Date: Create in 11:26 2017/11/14
* @Modified BY:
*/
@EnableWebMvc
@EnableSwagger2
@Configuration
@ComponentScan(basePackages ="com.chen")
public class SwaggerConfig extends WebMvcConfigurationSupport {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.chen"))
.paths(PathSelectors.any())
.build();
}

private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SSM-Swagger2 APIs")
.termsOfServiceUrl("http://blog.csdn.net/dushiwodecuo")
.contact(new Contact("CatalpaFlat","http://blog.csdn.net/dushiwodecuo","1013427541@qq.com"))
.version("1.0.0")
.build();
}

}


4.修改swagger2附带的index.html

修改index.html中的 http://petstore.swagger.wordnik.com/v2/swagger.json修改为自己项目路径+api-docs,

例如:http://localhost:8080/api/api-docs





5.注解使用

@RequestMapping
@RestController
@Api(description="测试接口")
public class TestController {
@Resource
private TestService testService;

@GetMapping(value = "get")
@ApiOperation(value = "获取值",httpMethod = HttpMethod.GET,response = List.class,notes ="get name")
public List<Test> get(){
return testService.get();
}

@ApiOperation(value = "设置值",httpMethod = HttpMethod.GET,response = String.class,notes ="set name")
@ApiImplicitParam(value = "name",dataType = "form",required = true,defaultValue = "21378127")
@GetMapping(value = "set/{name}",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String set(@PathVariable String name){
return testService.set(name);
}
}


5.启动测试

浏览器地址栏输入:http://localhost:8080/api/index.html



6.swagger2常用注解如下

@Api()用于类;

表示标识这个类是swagger的资源

@ApiOperation()用于方法;

表示一个http请求的操作

@ApiParam()用于方法,参数,字段说明;

表示对参数的添加元数据(说明或是否必填等)

@ApiModel()用于类

表示对类进行说明,用于参数用实体类接收

@ApiModelProperty()用于方法,字段

表示对model属性的说明或者数据操作更改

@ApiIgnore()用于类,方法,方法参数

表示这个方法或者类被忽略

@ApiImplicitParam() 用于方法

表示单独的请求参数

@ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: