Postman测试工具

在这里插入图片描述
在这里插入图片描述

post请求

头部携带token

在这里插入图片描述

类型选择JSON

在这里插入图片描述

接口测试工具swagger

https://apifox.com/

在这里插入图片描述

swagger2,较多

swagger3,

Knife4j

Knife4j的前身是swagger-bootstrap=ui,前身swagger–bootstrap-ui是一个纯swagger–ui的ui皮肤项目

https://doc.xiaominfo.com/docs/quick-start

https://doc.xiaominfo.com/docs/quick-start

1.引入依赖

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
            <version>4.1.0</version>
        </dependency>

底层就是swagger

在这里插入图片描述

2.配置

knife4j:
  enable: true

3.常用注解

import io.swagger.annotations.Api;

在这里插入图片描述

序号 注解 作用
1 @Api(tags = “图书的api接口类”) 左侧名字
2 @ApiOperation(“findPage方法测试”) get方法名字
3 @ApiImplicitParam(name = “findByPage”,value = “分页查询”,required = true) 参数相关
4 @ApiModel(“DTO返回数据”) 写在HttpResp实体类上
5 @ApiModelProperty(“time”) 写在HttpResp类属性上

BookController.java文件

package com.tinaju.bm.controller;

import com.tinaju.bm.dto.HttpResp;
import com.tinaju.bm.dto.ResultCode;
import com.tinaju.bm.entity.Book;
import com.tinaju.bm.service.IBookService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.List;

@Api(tags = "图书的api接口类")
@RestController
@RequestMapping("/api/book")
public class BookController {
    @Autowired
    private IBookService bookService;

    @ApiOperation("findPage方法测试")
    @ApiImplicitParam(name = "findByPage",value = "分页查询",required = true)
    @GetMapping("/findByPage")
    public HttpResp findByPage(int currentPage){
        List<Book> bookList = bookService.findByPage(currentPage, 5);
        return HttpResp.results(ResultCode.BOOK\_SUCCESS,new Date(),bookList);
    }
}

HttpResp.java返回给前端的实体类

package com.tinaju.bm.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.\*;

import java.io.Serializable;
import java.util.Date;

/\*\*
 \* 返回给前端的响应
 \* @param <T>
 \*/
@ApiModel("DTO返回数据")
@Getter@Setter
@ToString
public class HttpResp<T> implements Serializable {

    private ResultCode resultCode;
    @ApiModelProperty("time")
    private Date time;
    @ApiModelProperty("results")
    private T results;

    private HttpResp(){}

    public static <T> HttpResp<T> results(ResultCode resultCode,Date time,T results){ // java泛型的写法
        HttpResp httpResp = new HttpResp();
        httpResp.setResultCode(resultCode);
        httpResp.setTime(time);
        httpResp.setResults(results);
        return httpResp;
    }
}

4.接口测试

ip: 端口/doc.html

在这里插入图片描述

JMeter

在这里插入图片描述

什么是JMeter?

Apache JMeter?

The Apache JMeter? application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance(接口性能),It was originally designed for testing Web Applications but has since expanded to other test functions.

JMeter安装配置

1.官网下载