【查错解决过程】Postman测试接口GET请求404(使用IDEA解决)

本文记录了作者在使用Postman测试SpringBoot应用时遇到的挑战,涉及Eclipse和IntelliJ IDEA切换、Lombok插件、MapperScan配置和JDK版本问题,最终通过调整依赖和目录结构解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在在使用postman进行代码测试的时候一直报404,

不知道问题到底出在哪里。

基本的GET请求都不能成功...

 

然后我就发现可能是我没有加上@MapperScan的声明。

后来发现不是,至今也不知道eclipse怎么调。

——————————————————————————————————————

Eclipse的调试先告一段落。

同学说用IDEA会很方便,接下来尝试用IDEA试一下。

同样的新建项目后直接开始爆红:

查资料加上版本号之后解决。(有的不需要,我第二次新建就没有!)

接下来是IDEA的lombok爆红。(不知道和eclipse的解决方案一不一样。)

参考博客:(44条消息) IDEA中Lombok插件的安装与使用_小燕子的博客-CSDN博客_idea lombok插件安装

 但是很可惜,我的里面没有...

 (44条消息) idea 离线安装 lombok插件_珍惜-CSDN博客_lombok插件离线安装

 那就用这个吧!

对不起,咱就是说看到这个消息想骂人的程度...

(果然所有软件都是新板坑人啊!!!!)

 我选择安装低版本的IDEA!!

下载了2020版本IDEA以后,终于看到了这个...

 (对不起我还是要吐槽 IDEA装lombok真的好方便!!Eclipse真的是....ORZ)

然后就回到了和Eclipse一样的问题,MapperScan报错!

于是我找到教程配上了:

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.2.0</version>
        </dependency>

然后还是报红,我感觉不应该啊,我选择...重启IDEA!

然后提示就变成了import class,呜呜呜不报红了!

 运行,继续报错:

 然后我搜索发现,好像是IDEA 2020不支持JDK17???

(果然什么都不能下高版本啊。)

换JDK11之后。

 

 配置完这些之后还是不行,

不知道是不是IDEA的坑,也可能是新建这个project时选择的是JDK17还是改不了。

所以新建了个JDK11的项目,同样的代码贴过去。

可以运行了,但是:

当时就挺绝望的...

然后看到大佬文章:

(44条消息) springBoot搭建时遇到的坑之Failed to configure a DataSource: 'url' attribute is not specified and no embedded_喜羊羊love红太狼-CSDN博客 (44条消息) JDBC(数据库连接)——url写法_思维的基石-CSDN博客_jdbc url

我在配着配着发现,可是我好像不要用数据库啊??

(44条消息) 四种方案解决报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasour_zqbwangexiunian的博客-CSDN博客_failed

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

 对不起,我发现加上这个语句就解决了,我是个小傻子...

然后我又一次GET失败了...到底为什么...

然后我就试着用浏览器访问,发现是这样的:

为什么为什么为什么???

这样是不是说明我请求成功了??

所以我换了个搜索方式查资料!!

Spring Boot 访问http 报错 This application has no explicit mapping for /error_alinekang的博客-CSDN博客

可能是目录结构的问题??

我把Application放到外面来!

终于解决了!!!

 

总结:

不论是配置还是什么,使用IDEA会方便很多。

1、下载lombok插件来解决没有lombok包的问题。

2、MapperScan报红的问题。(其实试了一下没有MapperScan也可以....要命了老师误导我!我还解决了好久好久好久...)

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.1</version>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.2.0</version>
</dependency>

但还是用这个来解决。顺便要有这个语句来解决mybatis的问题(没有用数据库的前提下。)

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

(当然整个这个第二步其实都没有必要,但是既然解决了就放出来...)

3、IDEA2021没有lombok插件!没有lombok插件!没有lombok插件!要用就不要下错版本了,因为没有适配的。

4、IDEA2020不支持太高版本的JDK,会报错!所以最好什么都不要下太新的!

5、Postman最新版本会有一点小问题,没有办法Send(不知道是不是只有我遇到了),我是下了低版本以后解决的。

大概就这些!

感想:

感觉这次整个就是一个试错的过程,

根本原因当然是对postman测试接口的过程不了解。

查阅了很多资料,包括怎么使用postman,怎么下载spring boot等等。

可以说有很多没有必要的过程,

比如下载spring boot...和自己安装lombok都好呆...

因为这些其实IDEA都能实现,

怪自己太不会变通了。

以后一定要记得:

IDEA > Eclipse

低版本 > 高版本

感觉自己是把能踩的坑都踩完了吧,

为了一个好像不怎么重要的东西浪费了很多的时间。

但感觉看着这一路记录的过程还是值得的吧,

总该有些时间去试错嘛。

至少我知道了postman测试接口的方法。

(不过原理和具体应用场景还不是很懂)

不过看起来应该很有用,以后可以学一学!

就这样啦,散会~

<think>好的,我现在需要处理用户关于“idea接口测试连续请求20次”的问题。首先,我得弄清楚用户的具体需求是什么。他们可能是在进行接口性能测试,或者想验证接口在高并发情况下的稳定性,也有可能是检查接口的幂等性。连续请求20次可能涉及到并发处理、响应时间、数据一致性等问题。 接下来,我应该考虑用户可能使用的工具或方法。常见的接口测试工具有Postman、JMeter、Python的requests库等。如果是用IDEA的话,可能是指使用IDEA的插件,比如HTTP Client或者集成其他测试框架。需要确认用户是否已经具备这些工具的基础,或者是否需要指导如何配置。 然后,分析连续请求的实现方式。如果是单线程顺序发送20次请求,可能关注的是接口的稳定性和每次请求的正确性。如果是并发请求,比如同时发起20个请求,那么需要测试服务器的并发处理能力和资源竞争情况。这时候可能需要用到多线程或者异步请求的技术。 还要考虑测试的关键点,比如响应时间的变化、是否有请求失败、返回数据是否一致、服务器日志是否有异常等。同时,需要提醒用户注意接口的幂等性设计,特别是在重复请求下数据是否正确处理,比如订单是否重复创建。 另外,用户可能需要知道如何自动化这个过程,比如编写脚本循环发送请求,或者使用JMeter设置线程组。在IDEA中,使用HTTP Client可以通过脚本方式实现循环请求,或者结合Groovy脚本进行更复杂的测试。 最后,需要确保回答结构清晰,分步骤说明可能的实现方法,并给出注意事项,帮助用户全面理解如何进行这样的测试,同时避免常见的陷阱,比如未处理异常或忽略资源清理。</think>以下分步骤介绍如何实现接口连续20次请求测试及关键注意事项: 一、实现方式 1. Postman脚本方式 - 新建Collection → 添加请求 - 在Tests标签页添加循环代码: ```javascript const max = 20; let count = parseInt(pm.environment.get("count") || 0); if (count < max) { pm.environment.set("count", count + 1); postman.setNextRequest("你的请求名称"); } else { postman.setNextRequest(null); } ``` 2. JMeter压力测试 - 创建线程组 → 设置线程数:20 - 添加HTTP请求 → 配置接口参数 - 添加监听器:查看结果树/聚合报告 3. IDEA HTTP Client(推荐) ```http ### 基础循环示例 POST http://api.example.com/endpoint Content-Type: application/json { "data": "test" } > {% let count = 0; for (let i = 0; i < 20; i++) { count++; client.test("第"+count+"次请求", function() { client.assert(response.status === 200, "状态码校验"); }); } %} ``` 二、测试验证重点 1. 稳定性指标 - 成功率:20/20 (100%) - 平均响应时间波动范围 ≤30% - 错误日志出现次数 2. 数据一致性验证 - 检查数据库增量(特别是写入接口) - 验证返回数据指纹是否一致 - 消息队列消费情况(如有) 3. 资源监控 - 内存泄漏检测(对比第1次和第20次内存占用) - 连接池使用情况 - 服务器CPU/内存波动 三、常见问题处理 1. 接口幂等性问题 - 添加唯一请求ID - 使用Redis分布式锁 - 数据库唯一索引 2. 性能优化建议 - 增加请求间隔(可配置0.5-1秒) - 使用连接池配置 - 开启keep-alive 3. 结果分析方法 ```bash # 使用jq分析响应日志 cat response.log | jq '.timestamp, .statusCode' | xargs -n2 ``` 四、进阶测试场景 1. 混合压力测试 - 20次连续请求后,立即进行100并发测试 - 梯度增压测试(5→10→20次/秒) 2. 异常恢复测试 - 强制中断后验证数据完整性 - 模拟网络抖动时的重试机制 建议优先使用IDEA自带的HTTP Client工具,配合脚本实现自动化测试,既能保持开发环境一致性,又便于与单元测试集成。对于复杂场景可结合JMeter进行更专业的压力测试
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值