网页Swagger  http://editor.swagger.io/

通过yum配置文件进行api设置,以及页面展示

 

Springboot整合Swagger2

pom.xml

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

配置Swagger2首页

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;

/**
 * Created on 2019/4/3.
 *
 * @author dajitui
 */
@Configuration
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
//设置为项目文件路径
                .apis(RequestHandlerSelectors.basePackage("com.example.demo"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("springboot利用swagger构建api文档")
                .description("简单优雅的restfun风格,网页版swagger  https://editor.swagger.io/?_ga=2.214231903.992793940.1554275851-2087948906.1554275851")
                .termsOfServiceUrl("https://editor.swagger.io/?_ga=2.214231903.992793940.1554275851-2087948906.1554275851")
                .version("1.0")
                .build();
    }
}

对api进行Swagger注解

import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created on 2019/4/3.
 *
 * @author dajitui
 */
@RestController
public class TestController {

    @RequestMapping(value = "/test",method = RequestMethod.PUT)
    @ApiOperation(value = "获取用户信息",notes = "根据用户id获取用户详细的信息")
    @ApiImplicitParams(@ApiImplicitParam(name = "id",value = "用户id",required = true,dataType = "String"))
    public String getById(String id){
        return "1";
    }

}
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * Created on 2019/4/3.
 *
 * @author dajitui
 */
@ApiModel
@Data
public class User {

    @ApiModelProperty(value = "用户id")
    private String id;

}

 

网页访问http://localhost:8080/swagger-ui.html

springboot 整合Swagger2

springboot 整合Swagger2

点击显示api注释,value输入框模拟访问情况,比如访问id为123,输出为1,状态为200

 

Swagger注解

  • @Api:修饰整个类,描述Controller的作用
  • @ApiOperation:描述一个类的一个方法,或者说一个接口
  • @ApiParam:单个参数描述
  • @ApiModel:用对象来接收参数
  • @ApiProperty:用对象接收参数时,描述对象的一个字段
  • @ApiResponse:HTTP响应其中1个描述
  • @ApiResponses:HTTP响应整体描述
  • @ApiIgnore:使用该注解忽略这个API
  • @ApiError :发生错误返回的信息
  • @ApiImplicitParam:一个请求参数
  • @ApiImplicitParams:多个请求参数
  • @ApiModelProperty(value = "用户id") 注解对象属性

相关文章: