接口测试工具——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.启动+查看结果

相关推荐
CoderYanger1 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
计算机毕设定制辅导-无忧学长11 小时前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
小郎君65818 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·spring cloud
jktantan20 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
露天赏雪1 天前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
和粒科技2 天前
热重分析仪TG 309 Libra Classic
测试工具
蜗牛8752 天前
为 Spring Boot 团队做一个 Elasticsearch 查询工作台:六种模式、语义补全与浏览器直连
spring boot
养军博客2 天前
Spring Boot 3.x + Spring Security 6.x 整合 JWT 实战:jjwt 与 java-jwt 两种工具库详解
java·spring boot·springsecurity
txxzjmzlh2 天前
SpringBoot 统⼀功能处理
java·spring boot·后端
秋天的怀念_David3 天前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法