接口测试工具——Postman测试工具 & Swagger接口测试+SpringBoot整合 & JMeter高并发测试工具

目录

IDEA简单测试


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

1.引入依赖

xml 复制代码
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
            <version>4.1.0</version>
        </dependency>

底层就是swagger

2.配置

yml 复制代码
knife4j:
  enable: true

3.常用注解

java 复制代码
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文件

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返回给前端的实体类

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.官网下载

2.下载后解压

3.汉语设置

JMeter的使用方法

1.新建线程组

2.设置参数

3.添加取样器

4.设置参数:协议,ip,端口,请求方式,路径

5.添加查看结果树

6.启动+查看结果

相关推荐
人活一口气16 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
java小白小4 天前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot
用户3169353811834 天前
如何从零编写一个 Spring Boot Starter
spring boot
程序员晓琪5 天前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly5 天前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
用户3521802454756 天前
🎆从 Prompt 到 Skill:让 Spring AI Agent 学会"装新技能"
人工智能·spring boot·ai编程
用户3521802454759 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
昵称为空C9 天前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
霸道流氓气质10 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务