idea中创建请求基本操作

文章目录

  • 说明
  • 效果
  • 创建GET请求
    • 没有参数
    • 带有参数
    • 带有环境变量
    • 带有动态参数

说明

在这里插入图片描述

首先通过###三个井号键来分开每个请求体,然后请求url和header参数是紧紧挨着的,请求参数不管是POST的body传参还是GET的parameter传参,都是要换行的,需要遵守HTTP协议规范

GET请求

### GET request with a header
GET https://httpbin.org/ip
Accept: application/json### GET request with parameter
GET https://httpbin.org/get?show_env=1
Accept: application/json### GET request with environment variables
GET {{host}}/get?show_env={{show_env}}
Accept: application/json### GET request with disabled redirects
# @no-redirect
GET http://httpbin.org/status/301### GET request with dynamic variables
GET http://httpbin.org/anything?id={{$uuid}}&ts={{$timestamp}}###

POST请求

### Send POST request with json body
POST https://httpbin.org/post
Content-Type: application/json{"id": 999,"value": "content"
}### Send POST request with body as parameters
POST https://httpbin.org/post
Content-Type: application/x-www-form-urlencodedid=999&value=content### Send a form with the text and file fields
POST https://httpbin.org/post
Content-Type: multipart/form-data; boundary=WebAppBoundary--WebAppBoundary
Content-Disposition: form-data; name="element-name"
Content-Type: text/plainName
--WebAppBoundary
Content-Disposition: form-data; name="data"; filename="data.json"
Content-Type: application/json< ./request-form-data.json
--WebAppBoundary--### Send request with dynamic variables in request's body
POST https://httpbin.org/post
Content-Type: application/json{"id": {{$uuid}},"price": {{$randomInt}},"ts": {{$timestamp}},"value": "content"
}###

效果

点击项目目录,右键操作,new,Http Request
在这里插入图片描述

hello.http

GET http://localhost:8080/validSingleColumn
Accept: application/json

RUN 返回信息

GET http://localhost:8080/validSingleColumnHTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 06:28:03 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "操作成功","code": 200,"data": ["1","2","3","4","5"]
}Response code: 200; Time: 49ms; Content length: 54 bytes

在这里插入图片描述
在resource下面新建一个包,如rest、http之类的,名字随便取,在这里面我们来创建我们的请求。

创建GET请求

没有参数

GET http://localhost:8080/hello
Accept: application/json

controller

 @GetMapping(value = "hello")public AjaxResult hello(){return AjaxResult.success("hello");}

响应信息

GET http://localhost:8080/helloHTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 06:41:52 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "hello","code": 200
}Response code: 200; Time: 279ms; Content length: 26 bytes

带有参数

第一种形式:使用@RequestParam单个参数

    @GetMapping(value = "/getFirst")public AjaxResult getFirst(@RequestParam String id) {log.info("id:【{}】", id);return AjaxResult.success("使用@RequestParam单个参数");}
GET http://localhost:8081/hello/getFirst?id=1
Accept: application/json
GET http://localhost:8081/hello/getFirst?id=1HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 06:59:52 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "使用@RequestParam单个参数","code": 200
}Response code: 200; Time: 62ms; Content length: 40 bytes

第二种方式:不使用@RequestParam单个参数

@GetMapping(value = "getSecond")
public AjaxResult getSecond(String id) {log.info("id:【{}】", id);return AjaxResult.success("不使用@RequestParam单个参数。");
}
GET http://localhost:8081/hello/getSecond?id=2
Accept: application/json
GET http://localhost:8081/hello/getSecond?id=2HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 07:01:52 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "不使用@RequestParam单个参数。","code": 200
}Response code: 200; Time: 14ms; Content length: 42 bytes

第三种方式:多个基础参数

    @GetMapping(value = "getThird")public AjaxResult getThird(String id, int age) {log.info("id:【{}】,age:【{}】", id, age);return AjaxResult.success("多个参数");}
GET http://localhost:8081/hello/getThird/?id=18&age=16
Accept: application/json
GET http://localhost:8081/hello/getThird/?id=18&age=16HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 07:05:24 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "多个参数","code": 200
}Response code: 200; Time: 15ms; Content length: 25 bytes

第四种方式:多个参数使用@RequestParam

    @GetMapping(value = "getFourth")public AjaxResult getFourth(@RequestParam String id, @RequestParam int age) {log.info("id:【{}】,age:【{}】", id, age);return AjaxResult.success("多个参数使用@RequestParam");}
GET http://localhost:8081/hello/getFourth?id=18&age=16
Accept: application/json
GET http://localhost:8081/hello/getFourth?id=18&age=16HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 07:07:19 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "多个参数使用@RequestParam","code": 200
}Response code: 200; Time: 20ms; Content length: 40 bytes

第五种方式:map入参使用@RequestParam,其实加不加一样效果

    @GetMapping(value = "getFifth")public AjaxResult getFifth(@RequestParam Map map) {log.info("map:【{}】", map);return AjaxResult.success("map使用@RequestParam");}
GET http://localhost:8081/hello/getFifth?id=1&age=10
Accept: application/json
GET http://localhost:8081/hello/getFifth?id=1&age=10HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 07:13:03 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "map使用@RequestParam","code": 200
}Response code: 200; Time: 13ms; Content length: 39 bytes

第六种:实体类使用

    @GetMapping(value = "getSeven")public AjaxResult getSeven(User user) {log.info("user:【{}】", user);return AjaxResult.success("实体类");}
GET http://localhost:8081/hello/getSeven?id=10&age=10&userName=pmb
Accept: application/json
GET http://localhost:8081/hello/getSeven?id=10&age=10&userName=pmbHTTP/1.1 200 
X-xr-bookmark: 1b995c1b-c0c7-4b3b-8d9b-9c0c008f7b32
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 27 Jul 2023 07:30:10 GMT
Keep-Alive: timeout=60
Connection: keep-alive{"msg": "实体类","code": 200
}Response code: 200; Time: 75ms; Content length: 24 bytes

在这里插入图片描述
总结:接收一个参数(String、Long),接收一个集合(Map)
  GET 请求 测试发现 使用 @RequestParm 可以接收到参数
  GET 请求 测试发现 不加 @RequestParm 也可以接收到参数

接受一个对象(user)
  GET 请求 测试发现 使用 @RequestParm 接收对象 报错 接收不到
  GET 请求 测试发现 不加 @RequestParm 接收对象 可以接收

总结:
GET 请求 当使用 @RequestParm 注解 和 不加注解时,只能接收到 params 携带的参数 ,参数放在 请求头 和请求体中均接受不到。

带有环境变量

带有动态参数

接收一个参数(String、Long、Integer)@RequestParm 可以。
接收一个集合(Map)@RequestParm 和 @RequestBody 均可以。
接收一个对象(user) @RequestBody 均可以。

总结:POST请求 当使用 @RequestParm 注解 和 不加注解时,只能接收到 params 和请求体xxx格式携带的参数,加注解无法接收到对象参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSI模型简介及socket,tcp,http三者之间的区别和原理

1.OSI模型简介&#xff08;七层网络模型&#xff09; OSI 模型(Open System Interconnection model)&#xff1a;一个由国际标准化组织提出的概念模型&#xff0c;试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。 它将计算机网络体系结构划分为七层,每…

Java设计模式之策略(Strategy)模式

策略&#xff08;Strategy&#xff09;设计模式定义了一系列算法&#xff0c;将它们封装起来&#xff0c;并且可以相互替换使用&#xff0c;从而使得算法可以独立于使用它的客户而变化。 什么是策略模式 策略&#xff08;Strategy&#xff09;设计模式是一种行为型设计模式&a…

苹果safari浏览器播放不了video标签视频

今天遇到了个神奇的问题&#xff0c;视频文件在pc端和安卓手机上播放都没问题&#xff0c;但是在ios上就是播放不了&#xff0c;大概代码如下&#xff1a; 前端代码&#xff1a; <video id"video" width"350" height"500" controls><s…

面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?

面试题-TS(八)&#xff1a;什么是装饰器&#xff08;decorators&#xff09;&#xff1f;如何在 TypeScript 中使用它们&#xff1f; 在TypeScript中&#xff0c;装饰器&#xff08;Decorators&#xff09;是一种用于增强代码功能的特殊类型声明。装饰器提供了一种在类、方法、…

每日一道面试题之如何实现数组和 List 之间的转换?

要实现数组和List之间的转换&#xff0c;可以使用Java中的Arrays类和Collections类提供的方法。 数组转换为List&#xff1a; 使用Arrays类的asList()方法可以将数组转换为List。这个方法接受一个数组作为参数&#xff0c;并返回一个包含数组元素固定大小的List。 举例&…

EMP-SSL: TOWARDS SELF-SUPERVISED LEARNING IN ONETRAINING EPOCH

Recently, self-supervised learning (SSL) has achieved tremendous success in learning image representation. Despite the empirical success, most self-supervised learning methods are rather “inefficient” learners, typically taking hundreds of training epoch…

TCP状态转换图

TCP状态转换图 了解TCP状态转换图可以帮助开发人员查找问题. 说明: 上图中粗线表示主动方, 虚线表示被动方, 细线部分表示一些特殊情况, 了解即可, 不必深入研究. 对于建立连接的过程客户端属于主动方, 服务端属于被动接受方(图的上半部分) 而对于关闭(图的下半部分), 服务端…

常用的Docker命令和使用方法

目录 拉取&#xff08;Pull&#xff09;镜像 查看已下载的镜像 创建运行容器 列出正在运行的容器 停止和启动容器 进入容器 查看容器信息 查看容器日志 删除容器和镜像 拉取&#xff08;Pull&#xff09;镜像 当我们在Docker中部署一个应用程序时&#xff0c;需要使用…

政策加持智能家居市场,涂鸦赋能客户打造“以人为本”智能生活新方式

7月18日&#xff0c;商务部等13部门联合发布了《关于促进家居消费若干措施的通知》&#xff08;以下简称《通知》&#xff09;&#xff0c;《通知》指出&#xff0c;创新培育智能消费&#xff0c;支持企业运用物联网、云计算、人工智能等技术&#xff0c;着重加快智能家电、智能…

maven的基本学习

maven https://www.bilibili.com/video/BV14j411S76G?p1&vd_source5c648979fd92a0f7ba8de0cde4f02a6e 1.简介 1.1介绍 Maven翻译为"专家"、“内行”&#xff0c;是Apache下的一个纯Java开发的开源项目。基于项目对象模型(缩写:POM)概念&#xff0c;Maven利用一…

无涯教程-jQuery - jQuery.get( url, data, callback, type )方法函数

jQuery.get(url&#xff0c;[data]&#xff0c;[callback]&#xff0c;[type])方法使用GET HTTP请求从服务器加载数据。 该方法返回XMLHttpRequest对象。 jQuery.get( url, [data], [callback], [type] ) - 语法 $.get( url, [data], [callback], [type] ) 这是此方法使用的…

【数据结构】实验二:顺序表

实验二 顺序表 一、实验目的与要求 1&#xff09;熟悉顺序表的类型定义&#xff1b; 2&#xff09;熟悉顺序表的基本操作&#xff1b; 3&#xff09;灵活应用顺序表解决具体应用问题。 二、实验内容 1&#xff09;在一个整数序列a1,a2,…,an中&#xff0c;若存在一个数&…

【Linux网络】 网络套接字(三)socket编程_TCP网络程序

目录 TCP网络程序服务端创建套接字并绑定服务端监听服务端获取连接服务器处理请求 客户端客户端创建套接字客户端连接服务器客户端发起请求测试 服务器存在的问题多进程版的TCP网络程序多线程版的TCP网络程序线程池版的TCP网络程序 TCP网络程序总结图 TCP网络程序 服务端 创建…

腾讯云内存型CVM服务器MA3、M6、M6ce和M5处理器CPU说明

腾讯云内存型CVM服务器CPU处理器大全&#xff0c;CVM内存型MA3、内存型M6、安全增强内存型M6ce、内存型M6p、内存型M5、MA2、M4、M3、M2、M1处理器主频、CPU性能性能大全说明&#xff0c;腾讯云内存型云服务器具有大内存的特点&#xff0c;适合高性能数据库、分布式内存缓存等需…

Dubbo

Dubbo 简介Dubbo的快速入门Dubbo的基本架构安装DubboAdmin入门案例Dubbo的最佳实践 Dubbo的高级特性启动检查多版本超时与重试负载均衡SpringCloud整合Dubbo案例 简介 Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架。 致力于提高性能和透明化的RPC远程服务调用方…

【云原生】Kubernetes之 Pod hook(钩子)

Pod hook介绍 Pod hook&#xff08;钩子&#xff09;是由 Kubernetes 管理的 kubelet 发起的&#xff0c;当容器中的进程启动前或者容器中的进程终止之前运行&#xff0c;这是包含在容器的生命周期之中。可以同时为 Pod 中的所有容器都配置 hook。 Hook 的类型包括两种&#…

在CSDN学Golang云原生(gitlab)

一&#xff0c;基于Docker安装gitlab runner 在Golang中&#xff0c;基于Docker安装GitLab Runner需要以下步骤&#xff1a; 首先&#xff0c;您需要安装Docker和Docker Compose。这可以通过访问官方网站来完成。接下来&#xff0c;您需要创建一个名为docker-compose.yml的文…

Jenkins+Docker+Docker-Compose自动部署,SpringCloud架构公共包一个任务配置

前言 Jenkins和docker的安装&#xff0c;随便百度吧&#xff0c;实际场景中我们很多微服务的架构&#xff0c;都是有公共包&#xff0c;肯定是希望一个任务能够把公共包的配置加进去&#xff0c;一并构建&#xff0c;ok&#xff0c;直接上干货。 Jenkins 全局环境安装 pwd e…

DSA之图(4):图的应用

文章目录 0 图的应用1 生成树1.1 无向图的生成树1.2 最小生成树1.2.1 构造最小生成树1.2.2 Prim算法构造最小生成树1.2.3 Kruskal算法构造最小生成树1.2.4 两种算法的比较 1.3 最短路径1.3.1 两点间最短路径1.3.2 某源点到其他各点最短路径1.3.3 Dijkstra1.3.4 Floyd 1.4 拓扑排…

机器学习:Bert and its family

Bert 先用无监督的语料去训练通用模型&#xff0c;然后再针对小任务进行专项训练学习。 ELMoBertERNIEGroverBert&PALS Outline Pre-train Model 首先介绍预训练模型&#xff0c;预训练模型的作用是将一些token表示成一个vector 比如&#xff1a; Word2vecGlove 但是对于…