springboot整合swagger

一、依赖

<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>

二、配置类

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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration
@EnableSwagger2
public class Swagger2Configure {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
//                .host("http://cashier.manfulshop.com/")
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.tangotech.inventory.cashier.web.controller"))
                .paths(PathSelectors.any())
                .build()
//                .protocols(protocols)
                .useDefaultResponseMessages(false);
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("美凡设备接口")
                .description("仅供收银机使用,接口地址: http://xxxxxxx.com")
                .contact(new Contact("MT", "", ""))
                .version("1.0")
                .build();
    }
}

加上注解@EnableSwagger2 表示开启Swagger

用@Configuration注解该类,等价于XML中配置beans;用@Bean标注方法等价于XML中配置bean。

三、Restful 接口

    /**
     * 根据订单UUID 查询订单状态
     */
    @PostMapping("/query_order_status")
    @ResponseBody
    @ApiOperation(value = "查询订单状态", tags = "收银接口", notes = "code为1 且 data 为 2 时 代表订单已支付")
    public Response<Integer> queryOrderStatusByUUID(@RequestBody OrderStatusRequest request) {
        Repository repository = DeviceAuthUtil.getAuthRepository();
        ParamUtils.notBlack(request.getOrderUUID(), "订单序号");
        CashierOrder cashierOrder = cashierOrderService.selectByUUID(request.getOrderUUID());
        if (cashierOrder == null) {
            return Response.error("订单不存在");
        }
        if (!repository.getId().equals(cashierOrder.getRepositoryId())) {
            return Response.error("订单权限不足");
        }
        return Response.success(cashierOrder.getStatus());
    }
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class OrderStatusRequest {
    @ApiModelProperty(value = "订单UUID")
    private String orderUUID;
}

四、接口文档

启动SpringBoot项目,访问 http://localhost:8080/swagger-ui.html

 

五、Swagger注解

swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值