当前位置: 首页 > news >正文

轻量Http客户端工具VSCode和IDEA

文章目录

  • 前言
  • Visual Studio Code 的插件 REST Client
    • 编写第一个案例
    • 进阶,设置变量
    • 进阶,设置Token
  • IntelliJ IDEA 的 HTTP请求
    • 构建http脚本
    • HTTP的环境配置
    • 结果值暂存

前言

作为一个WEB工程师,在日常的使用过程中,HTTP请求是必不可少的。我们采用的HTTP工具有如下:

Postman
Insomnia
ApiFox

但是使用以上的工具,需要安装使用,而且有些还需要收费,使用起来相对比较麻烦。如果想要快速的发送HTTP请求,一般人考虑是直接在浏览器或者CMD进行发送,但是局限性很大,往往达不到我们想要的效果

在日常的开发过程中,我们离不开两个工具,微软的Visual Studio Code 和 IntelliJ IDEA两款工具,这两款工具自带HTTP简单发送。下面我为大家介绍这两款工具

Visual Studio Code 的插件 REST Client

这一款是需要安装插件才可以使用的,插件的名称为:REST Client

在这里插入图片描述

按照完这个插件之后,随便新增个文件,命名为 xxxx.http, 后缀必须是 .http
例如:
test.http

每个请求之间,都需要用 ### 来间隔

编写第一个案例

编写一个 GET请求

### GET测试
GET https://example.com/topics/1 HTTP/1.1

编写一个 POST请求 表单

### POST 表单测试
POST http://127.0.0.1:9061/dx-erp/role/save
Content-Type: application/x-www-form-urlencodedname=测试角色
&sn=test

编写一个 POST请求 JSON

### POST JSON测试
POST https://example.com/comments HTTP/1.1
content-type: application/json{"name": "sample","time": "Wed, 21 Oct 2015 18:27:50 GMT"
}

进阶,设置变量

例如配置 contentType 变量

@contentType = application/jsonget http://127.0.0.1:9061/dx-erp/district/allTree
Content-Type:{{contentType}}{
}

说明,contentType 有 application/json / multipart/form-data / application/x-www-form-urlencoded 等类型

进阶,设置Token

@contentType = application/json# @name login
post http://127.0.0.1:9061/login
Content-Type:{{contentType}}{"loginname": "admin","password": "admin"
}@AuthToken = {{login.response.body.data.token}}

以上的请求返回为:

HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Fri, 22 Dec 2023 14:14:58 GMT
Connection: close{"code": 200,"message": "恭喜你,登录成功!","data": {"token": "eyJ0eXAiOiJKV1xxxx1uOr0Q"}
}

通过以上的请求,可以将token配置为全局变量,使用{{AuthToken}}获取

例如

get http://127.0.0.1:9061/allTree
Content-Type:{{contentType}}
token: {{AuthToken}}{"name":"北京"
}

IntelliJ IDEA 的 HTTP请求

IntelliJ IDEA 不用安装任何插件,只需要 .http 或 .rest 结尾的文件, IDEA会自动识别为HTTP请求脚本

构建http脚本

首先,我们创建一个 rest-http.http 的文件用于进行测试

每个请求之间,都需要用 ### 来间隔

IDEA的使用与上面讲的 VSCode 基本一致,我们直接从更深入的使用进行说明
编写一个 GET请求

###
GET https://example.com/topics/1 HTTP/1.1

编写一个 POST请求 表单

###
POST http://127.0.0.1:9061/role/save
Content-Type: application/x-www-form-urlencodedname=测试角色
&sn=test

编写一个 POST请求 JSON

###
POST https://example.com/comments HTTP/1.1
content-type: application/json{"name": "sample","time": "Wed, 21 Oct 2015 18:27:50 GMT"
}

从以上例子可以看出,IDEA的使用与上面讲的 VSCode 基本一致,但是很多细节还是不相同 。因为IDEA集成的功能更多,使用起来的功能也更多,例如:

HTTP的环境配置

IDEA REST 支持从指定的配置文件中获取环境相关的配置参数,并且可以通过 {{}} 占位符进行获取。
首先在 .HTTP 的文件脚本同目录下创建一个称为 http-client.private.env.json 的文件,然后一级的键值采用不同的环境参数,比如: dev、test、pro等。在请求的http脚本中通过 {{}} 占位符的方式获取到此处配置的参数。

例如:
http-client.private.env.json 文件内容

{"dev":{"baseurl": "http://192.168.2.130:8080","username": "admin","password": "admin"},  "test":{"baseurl": "http://10.26.20.130:8080","username": "admin","password": "Admin123456"}
}

rest-http.http

### 登录
post {{baseurl}}/login
Content-Type:application/json{
"loginname": "{{username}}",
"password": "{{password}}"
}

结果值暂存

rest-http.http

### 登录
post {{baseurl}}/login
Content-Type:application/json{
"loginname": "{{username}}",
"password": "{{password}}"
}### 结果值暂存,记录token
> {% client.global.set("token",login.response.body.data.token);%}### 列表
post {{baseurl}}/login
Content-Type: application/json
token: {{token}}{
"loginname": "{{username}}",
"password": "{{password}}"
}

相关文章:

轻量Http客户端工具VSCode和IDEA

文章目录 前言Visual Studio Code 的插件 REST Client编写第一个案例进阶,设置变量进阶,设置Token IntelliJ IDEA 的 HTTP请求构建http脚本HTTP的环境配置结果值暂存 前言 作为一个WEB工程师,在日常的使用过程中,HTTP请求是必不可…...

机器学习或深度学习的数据读取工作(大数据处理)

机器学习或深度学习的数据读取工作(大数据处理)主要是.split和re.findall和glob.glob运用。 读取文件的路径(为了获得文件内容)和提取文件路径中感兴趣的东西(标签) 1,“glob.glob”用于读取文件路径 2,“.…...

Rust 生命周期

Rust 第17节 生命周期 先看一段错误代码 /* //一段错误的代码 // Rust 编译时会报错; */let r;{let x 5;r &x;}println!("{}",r);Rust 在编译时使用 借用检查器, 比较作用域来检查所有的借用是否合法; 很明显;r…...

【论文解读】CNN-Based Fast HEVC Quantization Parameter Mode Decision

时间:2019 年 级别:SCI 机构:南京信息工程大学 摘要 随着多媒体呈现技术、图像采集技术和互联网行业的发展,远程通信的方式已经从以前的书信、音频转变为现在的音频/视频。和 视频在工作、学习和娱乐中的比例不断提高&#xff0…...

在Linux上安装CLion

本教程将指导你如何在Linux系统上安装CLion,下载地址为:https://download.jetbrains.com.cn/cpp/CLion-2022.3.3.tar.gz。以下是详细的安装步骤: 步骤1:下载CLion 首先,你需要使用wget命令从提供的URL下载CLion的tar…...

R语言贝叶斯网络模型、INLA下的贝叶斯回归、R语言现代贝叶斯统计学方法、R语言混合效应(多水平/层次/嵌套)模型

目录 ㈠ 基于R语言的贝叶斯网络模型的实践技术应用 ㈡ R语言贝叶斯方法在生态环境领域中的高阶技术应用 ㈢ 基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ㈣ 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估…...

多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测

多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测 目录 多维时序 | Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现PSO-GCNN粒子群优化分组卷积神经网络多…...

Oracle 学习(1)

Oracle简介 Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle公司成立于1977年,总部位于美国加州,是世界领先的信息管…...

华为HCIA认证H12-811题库新增

801、[单选题]178/832、在系统视图下键入什么命令可以切换到用户视图? A quit B souter C system-view D user-view 试题答案:A 试题解析:在系统视图下键入quit命令退出到用户视图。因此答案选A。 802、[单选题]“网络管理员在三层交换机上创建了V…...

Nginx Unit 1.27.0 发布

目录 介绍 更新内容 将 HTTP 请求重定向到 HTTPS 为纯路径 URI 提供可配置的文件名 完整的更新日志 其他 平台更新 介绍 Nginx Unit 是一个动态应用服务器,能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API,…...

【影像组学入门百问】#32—#34

#32-影像组学研究过程中,图像重采样参 数怎么选择? 在影像组学研究过程中,选择合适的图像重采样参数对于保证分析质量和准确性至关重要。以下是在选择图像重采样参数时需要考虑的一些建议: 1.目标分辨率:首先&#…...

YOLOv5代码解析——yolo.py

yolo.py的主要功能是构建模型。 1、最主要的函数是parse_model,用于解析yaml文件,并根据解析的结果搭建网络。这个函数的注释如下: def parse_model(d, ch): # model_dict, input_channels(3)"""解析模型文件,并…...

4种feature classification在代码的实现上是怎么样的?Linear / MLP / CNN / Attention-Based Heads

具体的分类效果可以看:【Arxiv 2023】Diffusion Models Beat GANs on Image Classification 1、线性分类器 (Linear, A) 使用一个简单的线性层,通常与一个激活函数结合使用。 import torch.nn as nnclass LinearClassifier(nn.Module):def __init__(se…...

最新Unity DOTS Physics物理引擎碰撞事件处理

最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞事件处理以及核心相关概念。 Unity.Physics物理引擎的主要流程与Pipeline Unity.Physics物理引擎做仿真迭代计算的时候主要通过以下步骤来…...

springboot集成websocket全全全!!!

一、界面展示 二、前置了解 1.什么是websocket WebSocket是一种在单个TCP连接上进行全双工通信的持久化协议。 全双工协议就是客户端可以给我们服务器发数据 服务器也可以主动给客户端发数据。 2.为什么有了http协议 还要websocket 协议 http协议是一种无状态,非…...

SpringMVC:整合 SSM 中篇

文章目录 SpringMVC - 04整合 SSM 中篇一、优化二、总结三、说明注意: SpringMVC - 04 整合 SSM 中篇 一、优化 在 spring-dao.xml 中配置 dao 接口扫描,可以动态地实现 dao 接口注入到 Spring 容器中。 优化前:手动创建 SqlSessionTempl…...

oracle即时客户端(Instant Client)安装与配置

之前的文章记录了oracle客户端和服务端的下载与安装,内容参见: 在Windows中安装Oracle_windows安装oracle 如果不想安装oracle客户端(或者是电脑因为某些原因无法安装oracle客户端),还想能够连接oracle远程服务&#…...

POP3协议详解

基本介绍 POP3是一种用于从邮件服务器获取电子邮件的协议。它允许邮件客户端连接到邮件服务器,检索服务器上存储的邮件,并将邮件下载到客户端设备上。POP3的工作原理如下: 连接和身份验证: 邮件客户端通过TCP/IP连接到邮件服务器…...

电子病历编辑器源码,提供电子病历在线制作、管理和使用的一体化电子病历解决方案

概述: 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息,包括&…...

WT2605C高品质音频蓝牙语音芯片:外接功放实现双声道DAC输出的优势

在音频处理领域,双声道DAC输出能够提供更为清晰、逼真的音效,增强用户的听觉体验。针对这一需求,唯创知音的WT2605C高品质音频蓝牙语音芯片,通过外接功放实现双声道DAC输出,展现出独特的应用优势。 一、高品质音频处理…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...