idea中创建请求基本操作

news2024/11/17 5:43:58

文章目录

  • 说明
  • 效果
  • 创建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-urlencoded

id=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/plain

Name
--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/validSingleColumn

HTTP/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/hello

HTTP/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=1

HTTP/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=2

HTTP/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=16

HTTP/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=16

HTTP/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=10

HTTP/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=pmb

HTTP/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.coloradmin.cn/o/800418.html

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

相关文章

Java版本spring cloud + spring boot 电子招标采购系统源码

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

《MySQL》第十二篇 数据类型

目录 一. 整数类型二. 浮点类型三. 日期和时间类型四. 字符串类型五. 枚举值类型六. 二进制类型七. 小结 MySQL 支持多种数据类型&#xff0c;学习好数据类型&#xff0c;才能更好的学习 MySQL 表的设计&#xff0c;让表的设计更加合理。 一. 整数类型 类型大小SIGNED(有符号)…

网红项目AutoGPT源码内幕及综合案例实战(三)

AutoGPT on LangChain PromptGenerator等源码解析 本节阅读AutoGPT 的prompt_generator.py源代码,其中定义了一个PromptGenerator类和一个get_prompt函数,用于生成一个提示词信息。PromptGenerator类提供了添加约束、命令、资源和性能评估等内容的方法,_generate_numbered_l…

effective c++ 条款2

条款2 常量(const)替换宏(#define)指针常量类成员常量 枚举(enum)替换宏(#define)模板函数(template inline)替换宏函数 尽量用const,enum,inline替换#define 总结就是&#xff1a; 常量(const)替换宏(#define) // uppercase names are usually for macros #define ASPECT_R…

HTML基础 第一课

文章目录 什么是HTMLHTML规范标签的种类开闭合标签整合标签标签中的属性 我的第一个HTML 什么是HTML Hyper Text Markup Language 超文本标记语言 超文本:表示页面上的一切要素&#xff0c;正如Java中的万物皆对象一样&#xff0c;在网页中包含 普通的文本样式 结构 视频 音频…

c++ 面试错题整理

在C中&#xff0c;下列哪个语句用于定义一个字符串变量&#xff1f;&#xff08;D&#xff09; A. string myString; B. char myString[]; C. String myString; D. char* myString; 关于为什么不是A&#xff0c;我猜测可能是因为string本质上是一个类。 C中的引用与指针有什么…

element-ui 合并表格行

element-ui 合并表格行操作 需求描述 动态获取数据后&#xff0c;将ID相同的行&#xff0c;ID合并成一个。 官方方法 //rowIndex当前行号 columnIndex当前列号 由此可知道每一行渲染时都会调用当前方法&#xff0c;只不过在渲染过程中设置了它合并的行数和列数&#xff0c;…

【Java】Spring关于Bean的存和取、Spring的执行流程以及Bean的作用域和生命周期

Spring项目的创建普通的存和取存储Bean创建Bean将Bean注册到容器中 获取并使用Bean获取Spring上下文获取并使用 更简单的存和取存储Bean配置扫描路径添加注解类注解Bean的命名规则五大注解的区别方法注解Bean方法注解要配合类注解使用重命名 Bean有参数的方法 获取Bean属性注入…

uniapp:H5定位当前省市区街道信息

高德地图api&#xff0c;H5定位省市区街道信息。 由于uniapp的uni.getLocation在H5不能获取到省市区街道信息&#xff0c;所以这里使用高德的逆地理编码接口地址接口&#xff0c;通过传key和当前经纬度&#xff0c;获取到省市区街道数据。 这里需要注意的是&#xff1a;**高德…

微信小程序,仿微信,下拉显示小程序效果,非常丝滑

1. 视图层 使用到了微信小程序的movable-view&#xff08;可移动的视图容器&#xff09;和movable-view的可移动区域。 微信小程序文档 <!--wxml--> <view style"position: relative;" class"page-container"><view>二楼内容</vie…

C++ - 优先级队列(priority_queue)的介绍和模拟实现 - 反向迭代器的适配器实现

仿函数 所谓仿函数&#xff0c;其实它本身不是一个函数&#xff0c;而是一个类&#xff0c;在这个类当中重载了 operator() 这个操作符&#xff0c;那么在外部使用这个类的 operator() 这个成员函数的时候&#xff0c;使用的形式就像是在使用一个函数一样&#xff0c;仿函数&a…

Web3.0:已经开启的互联网革命!

1 痛点 2 web发展形态 只读、封闭式、协作式。 3 一个高度联系、全球统一的数字经济体 去中心化架构通过计算几余打破数据垄断&#xff0c;同时实现数字确权大量的功能依靠智能合约自动实现&#xff0c;运转效率大大提升DAO大量涌现&#xff0c;全球范围实现资源配置 4 特…

类加载机制,类加载顺序

类加载顺序 ①类加载从上往下执行&#xff0c;依次执行静态的初始化语句和初始化块&#xff0c;而且类加载优先于对象创建。&#xff08;静态初始化语句和初始化块只加载一次&#xff09; ②创建本类的对象时&#xff0c;从上往下执行一次非静态的初始化语句和初始化块&#…

ElementUI Select选择器如何根据value值显示对应的label

修改前效果如图所示&#xff0c;数据值状态应显示为可用&#xff0c;但实际上仅显示了状态码1&#xff0c;并没有显示器对应的状态信息。在排查了数据类型对应关系问题后&#xff0c;并没有产生实质性影响&#xff0c;只好对代码进行了如下修改。 修改前代码&#xff1a; <…

出海周报|Temu在美状告shein、ChatGPT安卓版上线、小红书回应闪退

工程机械产业“出海”成绩喜人&#xff0c;山东相关企业全国最多Temu在美状告shein&#xff0c;跨境电商战事升级TikTok将在美国推出电子商务计划&#xff0c;售卖中国商品高德即将上线国际图服务&#xff0c;初期即可覆盖全球超200个国家和地区ChatGPT安卓版正式上线&#xff…

【梯度下降应用于波士顿房价预测(岭回归)】

数据准备 首先&#xff0c;我们需要获取波士顿房价数据集&#xff0c;并对数据进行处理。我们从CMU统计学习数据集库中获取数据&#xff0c;并将其划分为训练集和测试集。 import pandas as pd import numpy as npdata_url "http://lib.stat.cmu.edu/datasets/boston&q…

CFS调度器(原理->源码->总结)

一、CFS调度器-基本原理 首先需要思考的问题是&#xff1a;什么是调度器&#xff08;scheduler&#xff09;&#xff1f;调度器的作用是什么&#xff1f;调度器是一个操作系统的核心部分。可以比作是CPU时间的管理员。调度器主要负责选择某些就绪的进程来执行。不同的调度器根…

基于JAVA SpringBoot和Vue高考志愿填报辅助系统

随着信息技术在管理中的应用日益深入和广泛&#xff0c;管理信息系统的实施技术也越来越成熟&#xff0c;管理信息系统是一门不断发展的新学科&#xff0c;任何一个机构要想生存和发展&#xff0c;要想有机、高效地组织内部活动&#xff0c;就必须根据自身的特点进行管理信息时…

VUE中使用ElementUI组件的单选按钮el-radio-button实现第二点击时取消选择的功能

页面样式为&#xff1a; html 代码为&#xff1a; 日志等级&#xff1a; <el-radio-group v-model"logLevel"><el-radio-button label"DEBUG" click.native.prevent"changeLogLevel(DEBUG)">DEBUG</el-radio-button><el-r…

Harbor私有仓库搭建

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目&#xff0c;包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能&#xff0c;同时针对中国用户的特点&#xff0c;设计镜像复制和中文支持等功能。 作为一个企业级私有 Reg…