IDEA-HTTP工具

在intellij idea2017.3版本中,增加了一个类VS Code的Rest-client的工具,通过这个工具我们可以完成绝大部分http请求,是一个不错的post-man替代工具,接下来详细讲讲它如何简化你的操作。

请求示例

所有HTTP请求需要在后缀为.http的文件中进行,新建一个test.http文件。基本格式为:

请求类型(如:GET, POST,PUT) + 请求地址(http://www.baidu.com)

请求头

...

请求体

写完请求后,点击左侧三角符号即可执行

image.png

GET请求

#### 一般GET请求

GET http://www.baidu.com?hi=hello

Accept: application/json

### 带状态的GET请求

GET http://127.0.0.1:9085/api/item/list

Cookie: JessionId=TG4OKFVOZP6A9ML4

Authorization: Bearer TG4OKFVOZP6A9ML4

POST请求

### 带body体的POST请求

POST http://127.0.0.1:9085/login

Content-Type: application/json

{

"username":"zhangsan",

"password":"123456"

}

### 模仿form表单POST请求

POST http://127.0.0.1:9085/login

Content-Type: application/x-www-form-urlencoded

username=zhangsan&password=123

### POST请求上传多类型

POST http://127.0.0.1:9085/upload

Content-Type: multipart/form-data; boundary=WebAppBoundary

### text域

--WebAppBoundary

Content-Disposition: form-data; name="element-name"

Content-Type: text/plain

username=zhangsan

### json文件域

--WebAppBoundary

Content-Disposition: form-data; name="data"; filename="data.json"

Content-Type: application/json

< ./data.json

快捷键

同样有内置快捷键帮你简化这些操作,内置的快捷键需要版本2018 +,2017.3版本的同样也可以在live templates设置中手写快捷键,下面简单说下这几个快捷键。

gtr: 创建一个普通的GET请求,通过tab键一步步填写即可

GET http://localhost:80/api/item

Accept: application/json

###

gtrp: 功能同gtr,只不过多了一个参数位置的tab

GET http://localhost:80/api/item?id=99

Accept: application/json

###

ptr: 创建一个普通的post请求,内置了地址、请求头、json体的位置

POST http://localhost:80/api/item

Content-Type: application/json

{}

###

ptrp: 形式同ptr,将json体的位置换成了key-value参数

POST http://localhost:80/api/item

Content-Type: application/x-www-form-urlencoded

id=99&content=new-element

mptr: 多类型post请求,内置:地址、请求头、一种请求类型(form-data)的位置

POST http://localhost:80/api/item

Content-Type: multipart/form-data; boundary=WebAppBoundary

--WebAppBoundary

Content-Disposition: form-data; name="field-name"

field-value

--WebAppBoundary--

###

fptr: 上传文件post请求,样式同mptr,将请求类型的位置换成文件

POST http://localhost:80/api/item

Content-Type: multipart/form-data; boundary=WebAppBoundary

--WebAppBoundary

Content-Disposition: form-data; name="field-name" filename="file.txt"

< ./relative/path/to/local_file.txt

--WebAppBoundary--

###

变量

工具也有post-man变量机制,避免了多种环境下切换的麻烦。变量文件存放的文件名字为:http-client.env.json,隐私变量可以存放到http-client.private.env.json文件中,变量文件名为固定这两个,变量重复时以隐私变量为准。

变量定义格式如:

{

"product": {

"host": "http://127.0.0.1:8675"

},

"test": {

"host": "http://192.168.28.90:9023"

}

}

使用时通过{{var}}引用即可:

2018-12-09 21-27-45 的屏幕截图.png

其他

同样IDEA 2018 +提供了示例库,示例库的位置在http文件的右上角,相信聪明的你们一定会找到的。与示例库图标并列的是你的请求的历史记录,也可以中./idea/httpRequests文件夹下找到历史记录与请求下载文件。

如果想看可视化操作,依次点击选项卡:Tools -> Http client -> Test RESTful Web Service

idea构建post请求_IDEA-HTTP工具相关推荐

  1. ASP.net 资源请求漏洞利用工具PadBuster

    ASP.net 资源请求漏洞利用工具PadBuster 在ASP.net 网站中,为了便于部署网站项目,开发者往往会将资源(图片.Javascript文件)嵌入到dll文件中.而网页中,会使用WebR ...

  2. Xamarin Essentials教程构建共享请求

    Xamarin Essentials教程构建共享请求 共享请求类ShareTextRequest可以用于构建复杂形式的数据,用于向其他应用传输.例如,它可以指定共享内容的主题Subject,用于给邮件 ...

  3. 构建高效的团队协作工具(二) Crowd安装配置

    Crowd是一个基于web的单点登录工具,能够简化应用软件的解决方案以及身份认证管理.管理员可以根据需要,利用Crowd的直观界面来统一管理多用户,web应用和目录服务器的认证和授权. Crowd应用 ...

  4. Python网络爬虫过程中,构建网络请求的时候,参数`stream=True`的使用

    点击上方"Python共享之家",进行关注 回复"资源"即可获赠Python学习资料 今 日 鸡 汤 海内存知己,天涯若比邻. 大家好,我是皮皮. 一.前言 前 ...

  5. Python 项目管理与构建,这四款工具足够了!

    作者:隔叶黄莺 来源:https://yanbin.blog/python-dependency-management-build-tools Python 历时这么久以来至今还未有一个事实上标准的项 ...

  6. 构建现代化的命令行工具

    文章源于 lambdas.dev 每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码,如何使代码在转译后保持可调用的状态同时尽可 ...

  7. 王欢:如何构建好的智能风控工具体系?

    本文约4600字,建议阅读9分钟本文将介绍在风控实践中积累起来的一些标准化的工作,包括遇到的问题和采取的解决方案,以期构建一个好的智能风控工具体系. 本文由融360高级数据算法工程师王欢老师带来&qu ...

  8. 9个用于构建容错系统的开源工具

    我一直对 Web 开发和软件架构很感兴趣,因为我希望对一个可以工作的系统有一个整体的了解.无论你正在构建移动应用程序还是 Web 应用程序,它都必须连接到互联网,以便在不同的模块之间交换数据,这意味着 ...

  9. postman跨域测试_安装使用Hoppscotch构建API请求访问与测试

    什么是API请求构建工具 在移动互联网时代,面向多端开发成为主流,需要向用户提供如:安卓App.苹果App.WAP.小程序.Web网页等等多种应用入口,这些入口称为前端.而为不同前端提供数据和业务信息 ...

  10. 代码同步工具_构建现代化的命令行工具

    每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码,如何使代码在转译后保持可调用的状态同时尽可能的压缩体积, 以及怎样设计项目分 ...

最新文章

  1. 代理模式、动态代理和面向方面
  2. 中国工程院院士高文:运用好云计算、大数据会为城市发展带来变革
  3. 【正一专栏】保护孩子人人有责-评南京猥亵女童案
  4. Qt中的QDialog
  5. selenium python_Python+Selenium基础入门及实践
  6. java 自写项目 war包 部署到linux上 本地可以正常运行,部署正常但访问404问题
  7. caffe 基础教程
  8. 微信小程序实现图片上传
  9. Nginx的软件架构
  10. 【代码质量】如何使用Valgrind检测内存泄漏
  11. c语言去尾法和进一法的例子,用“进一法”和“去尾法”解决问题教学案例
  12. iOS基础教程:记录从零开始到APP发布过程
  13. 数据库防火墙的性能和高可用性分析
  14. MyCat相关知识及测试要点
  15. 异常处理之Validates struts.xml files for syntactic and reference errors.
  16. 2021年美赛MCM赛题C题翻译
  17. Trying to start MapKit location updates without prompting for location authorization. Must call -[CL
  18. 如何准备面试?“-80,阿里Java开发面试解答
  19. 关于凸函数求最大值的下标的小讨论(斐波那契优选法/二分法/三分法)
  20. wo de wen zhang

热门文章

  1. C语言编程圆周运动运行结果,湘潭大学《C语言程序设计Ⅱ》课程考试试卷.doc
  2. 糗百网站服务器正在升级中,网站紧急升级中
  3. php fakepath,在文件上载中获取真实路径而不是“fakepath”
  4. 什么是SoC?什么是IP核?它们有什么关系?
  5. windows下安装MinGW及C++的环境配置
  6. Flash优秀学习资源下载总汇!(不断更新)
  7. xplay6android降级,xplay6 7.0降级6.0卡刷包
  8. 使用Unicode字符集出现乱码问题
  9. MongodB数据库安装教程
  10. obs多推流地址_如何使用OBS推流直播线上广交会(图文详解) | 文末福利