本文以写demo的形式讲述如何构建一个springboot项目,使用的项目管理及自动构建工具为maven,便于自测及API文档阅读使用的是swagger。
首先以为新手构建各种踩坑,推荐快速构建网站:start.spring.io,移步于此,可一分钟构建出springboot、maven项目,选择自己所对应的语言、版本及项目名称即可。然后点击”Generate Progect”生成项目。
下载后解压,导入编译器即可。关于配置swagger项目,先向项目中的pom.xm文件添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
然后与启动类同一层级出建一个swagger的配置类,类的内容如下:
package com.example.swaggerDemo;
import org.springframework.context.annotation.Bean;
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;
/**
* @author liangxu
* @create 2018年1月15日下午5:29:09
* @version 1.0
*
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// 指定controller存放的目录路径
.apis(RequestHandlerSelectors.basePackage("com.example.swaggerDemo"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swaggerDemo")
.description("更多详情访问我的github:https://github.com/wangnian666/")
.termsOfServiceUrl("https://github.com/wangnian666/")
.contact("liangxu")
.version("1.0")
.build();
}
}
务必指定自己controller所在目录
然后就可以愉快的在接口处添加注解以便生成对应文档啦,接口示例如下:
@Api("swagger测试")
@RestController
@RequestMapping(value="/")
public class DemoController {
@ApiOperation(value="方法测试",notes="根据传参返回对应的值")
@RequestMapping(value="/test",method=RequestMethod.GET)
public String word( @RequestParam("word") String word){
return word;
}
}
@Api,是标注一个Controller(Class)为一个swagger资源(API)。
@ApiOperation,对一个操作或HTTP方法进行描述.还有很多其他swagger注解就不一一介绍了,可以自行谷歌查阅相关文档。此篇文档只介绍项目如何搭建swagger,需要具体的信息可以自行查阅相关注解了解学习。到此告一段落,在浏览器中输入网址:http://localhost:8080/swagger-ui.html,我们看一下demo效果吧。
如果仍然没有搭建成功可去我的github上下载源码,项目地址为swaggerDemo