spring boot集成最新swagger2构建Restful API
spring boot集成最新swagger2构建Restful API
一、pom文件下加入以下依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency>
版本信息,可以通过swagger官网查询,或通过maven仓库搜索!
二、在项目中加入配置类
import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class Swagger2Config { public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("Spring Boot————Swagger2构建Restful APIs") .description("消息中心使用") .termsOfServiceUrl("https://swagger.io") .version("1.0") .build(); } }
三、在对应的controller中使用Restful Api的相关注解,如下:
//代替@responsebody和@Controller,返回json格式 @RestController //方法的描述 @ApiOperation //单个参数 @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = "") //多个参数 @ApiImplicitParams{ @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = ""), @ApiImplicitParam(name = "",value = "",requires = true/false,dataType = "") } //配置url映射 @RequestMapping //url中占位参数 @PathVariable
开启本地服务,访问http://localhost:8080/swagger-ui.html,即可看到相应界面!
附:RESTFUL API各请求方法如下,
1.GET
一般用于执行查询操作。get请求中URL有长度限制,并且url中的数据都明文暴露。
2.POST
在做一些修改的操作的时候使用,突破了长度限制,且数据存放在body中。
3.HEAD
HEAD请求只会返回首部的信息,不会返回相应体。通常用于测试数据是否存在,可以做心跳测试等。
4.PUT
与GET相反,用于改变某些内容。
5.DELETE
删除某些资源时使用。
6.TRACE
用于观察某一请求在到达服务前的变化,该请求会在到达服务前的最后一步返回原始信息,以此来观察到,数据在中间传输时是否有过修改。
经常用于跨站攻击,有一定的安全隐患。
7.OPTIONS
询问服务器支持的方法
8.PATCH
用于更新部分字段时使用,区别于PUT的全部提交,当更新的部分数据不存在时则新建,类似于neworupdate。