【苍穹外卖】(截至day2)所使用到的IDEA使用技巧和测试流程
IDEA使用技巧1.如何在IDEA中跳转到函数正确定义位置鼠标选中当前函数如以下employeeService.login()函数然后CtrlAltb这里的b就是指键盘上的字母B键/AltEnter常用于代码补齐看到报错时使用AltEnter可跳转到你要补齐的代码的相应位置即可跳转到相应的java文件。若是按住Ctrl再点击则会跳转到接口文件正确跳转结果跳转到实现文件错误跳转结果以下是按住Ctrl然后点击login函数而跳转到的结果跳转到的是接口文件2.TODO注释的使用说明若有尚未完成或仍需改进的地方可将该处注释打成//TODO ....这样开头的IDEA中有个搜索功能可直接搜索到以TODO开头的注释位置左上角横着3点点击后即可看到TODO3.自动补齐已定义好的函数的返回值类型和变量名例我现在想引用page.getResult()方法但又不想点开getRusult()的定义来查看它的返回值类型这样太过麻烦可在后面再加个.var即在想定义代码的位置上打上page.getResult.var一打完这个语句将会自动补齐点击Enter键接受即可若自动补充的返回结果的变量名不是你想要的点击Enter接受完后直接在上面修改即可YApi的官网打不开可以去https://yapi.pro/试试不行就用Apifox吧好用接口测试测试前都要在IDEA的WebMvConfiguration.java文件中添加下图所示的相应语句用来生成接口文档以下介绍3种测试方法1.通过Swagger测试文档输入样例来测试在IDEA启动好项目后于浏览器网址输入框中输入localhost:8080/doc.html此为接口文档的网址跳转到下图所示界面此处能看到这里相应的标题都是在刚刚IDEA中添加的语句中有设置的点击相应的想要测试的地方点击此处对应页面的【调试】填好参数后记得将IDEA中文件开始运行待后端正式开启后再点击下面的“发送”点击“发送”后出现相应的响应结果从而看这个端口是否通过测试IDEA的运行终端也有相应输出此处因为主包之前还发送了一次所以图中是有两次的记录2.前后端联调用于前端页面建立好的基础上此处以测试添加员工效果为例打开前端页面网址http://localhost:80用初始账号登录点击【员工管理】——右上角【添加员工】以测试此时添加员工代码效果输出相应信息并点击【保存】看到“添加成功”的弹窗显示并可在IDEA终端输出中查看到插入的信息状况对应数据库也有新增的这条信息成功添加3.使用Apifox来写测试用例具体写测试用例教程可见官方文档https://docs.apifox.com/7227782m0原理解析1.因为当前设置了Jwt校验对于/admin开头的请求都会进行token的验证token具体验证流程见com.sky.interceptor.JwtTokenUserInterceptor文件。运用前后端级联的测试方法可不用考虑这方面的问题是因为前端有配置请求拦截器可在发请求前自动插入令牌具体实现以下流程登录成功后前端会把后端返回的 token 保存在浏览器本地localStorage后续每一次发起接口请求拦截器都会自动从本地取出 token加到请求头里字段名和后端配置一致管理端默认字段名为token请求到达后端时请求头里已经带了合法令牌自然能通过 JWT 校验不会返回 401。这个过程是前端框架自动完成的在页面上操作时感知不到但每次请求都会自动携带了令牌从而使请求通过验证2.而对于Apifox等外部工具不会自动添加身份凭证。故当/admin/**的请求到达后端进入后端的JwtTokenAdminInterceptor拦截器负责校验请求中的令牌。从请求头里取不到 token解析令牌直接抛出异常拦截器设置 401 状态码并拦截请求。3.解决方法在使用Apifox等外部工具的测试数据时添加当前token的请求头。为什么帖主不用前后端级联这个更简单的方法呢因为简历需要成果数据化Apifox可以看到每个端口反映的具体时间而前后端级联不行。实际操作示例下面以测试营业额统计接口为例1.先调用管理端登录接口拿到当前有效的token点击右边三点然后点击“测试数据”设置你的测试数据的变量列名此处我选择的是手动输入测试数据也有批量导入和导出功能但本人尚未尝试过。这里仅演示手动输入然后点击右下角的保存。将鼠标在该测试用例停留一会儿会出现如下图所示的运行黑框点击“运行”但其实通过表格的方式来配置测试数据这里运行后是显示错误的不知道问题出在哪里。可以直接点击这个测试用例然后直接在参数的地方输入测试数据。帖主暂时还不知道问题在哪里后续知道怎么解决了便会更新至该帖中查看返回的响应得到当前有效的token2.同理在营业额统计接口处新建一个测试用例仅起名一个标题即可然后点击该测试用例点击Headers将参数名和参数值分别设置为token和刚刚获取到的token的具体值然后记得保存。不然就会报401身份未认证报错3.此时即可测试通过访问到数据额外调整Jwt有效时长和相关密钥application.yml更具体详细的数据application-dev.yml一些注意事项1.只有当IDEA上的SkyApplication.java在运行时页面才能进行登录/退出/测试等一系列操作不然页面没反应【持续更新中】

相关新闻

Kickstarter上线后复盘不乱:海外众筹UTM字段怎么设计

Kickstarter上线后复盘不乱:海外众筹UTM字段怎么设计

这篇只回答一个问题:Kickstarter 或 Indiegogo 上线以后,怎样知道哪个预热渠道真的带来了有效支持者?很多海外众筹团队会在上线后才开始整理数据,结果发现广告、官网、邮件、媒体测评和社媒帖子都混在一起。不是没有流量&#xff…

2026/7/25 15:41:42 阅读更多 →
Terminus生态系统:社区插件与扩展指南

Terminus生态系统:社区插件与扩展指南

Terminus生态系统:社区插件与扩展指南 【免费下载链接】terminus Terminus module for Nest framework (node.js) :robot: 项目地址: https://gitcode.com/gh_mirrors/terminus3/terminus Terminus是Nest framework (node.js)的一个模块,为开发者…

2026/7/21 18:45:54 阅读更多 →
Loritta错误排查指南:常见问题与解决方案

Loritta错误排查指南:常见问题与解决方案

Loritta错误排查指南:常见问题与解决方案 【免费下载链接】Loritta 💁 A multipurpose, multilanguage, customizable, modular, and very cute bot for Discord! ~Making your server more awesome~ 项目地址: https://gitcode.com/gh_mirrors/lo/Lor…

2026/7/21 15:43:08 阅读更多 →

最新新闻

大模型Agent开发:Skill设计原理与LangChain、Semantic Kernel实战

大模型Agent开发:Skill设计原理与LangChain、Semantic Kernel实战

如果你最近在关注大模型应用开发,特别是 Agent 框架,一定频繁听到 Skill 这个词。它听起来很酷,但很多开发者第一反应是:“这不就是传统编程里的函数或API吗?换个名字而已?” 这种理解不能说错,但会错过 Agent 架构中最关键的设计思想。Skill 的真正价值,不在于它“…

2026/7/25 22:19:47 阅读更多 →
Vue3 Dnd高级特性:自定义拖拽效果与预览图像的终极指南

Vue3 Dnd高级特性:自定义拖拽效果与预览图像的终极指南

Vue3 Dnd高级特性:自定义拖拽效果与预览图像的终极指南 【免费下载链接】vue3-dnd React Dnd implementation in Vue Composition-api. 项目地址: https://gitcode.com/gh_mirrors/vu/vue3-dnd Vue3 Dnd作为基于Vue Composition-api实现的React Dnd移植库&am…

2026/7/25 22:19:47 阅读更多 →
laravel-soft-cascade入门指南:从安装到使用的完整步骤

laravel-soft-cascade入门指南:从安装到使用的完整步骤

laravel-soft-cascade入门指南:从安装到使用的完整步骤 【免费下载链接】laravel-soft-cascade Cascade Delete & Restore when using Laravel SoftDeletes 项目地址: https://gitcode.com/gh_mirrors/la/laravel-soft-cascade laravel-soft-cascade是一…

2026/7/25 22:19:47 阅读更多 →
Unity游戏实时翻译插件XUnity.AutoTranslator部署与配置指南

Unity游戏实时翻译插件XUnity.AutoTranslator部署与配置指南

1. 项目概述:当游戏遇上语言壁垒作为一名在游戏开发与本地化领域摸爬滚打多年的从业者,我深知一个痛点:当你精心制作的Unity游戏,因为语言障碍而无法触达更广阔的海外玩家时,那种无力感有多强。尤其是对于中小型独立开…

2026/7/25 22:19:47 阅读更多 →
MSP430FR69xx低功耗设计实战:唤醒机制与电气特性深度解析

MSP430FR69xx低功耗设计实战:唤醒机制与电气特性深度解析

1. 项目概述与核心价值在电池供电的嵌入式设备里,功耗和响应速度就像鱼和熊掌,常常难以兼得。你希望设备大部分时间“沉睡”以省电,但又要求它在被事件触发时能“瞬间清醒”并快速响应。这个矛盾点的核心,就在于微控制器&#xff…

2026/7/25 22:19:47 阅读更多 →
迪奥999大牌同款包材定制:避开这3个坑,私域复购率翻倍

迪奥999大牌同款包材定制:避开这3个坑,私域复购率翻倍

拿着某法系头部D家经典哑光正红体系礼盒图来找我定包材的老板,十个里有七个被低价批发平台的“同款”坑过——盖子松垮、磁铁异响、膏体还没到客户手里就脱杯了。今天不扯虚的,直接从车间产线角度拆解口红包材的精密结构、验货硬指标和利润护城河&#x…

2026/7/25 22:18:46 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻