Http请求之GET,POST,PUT,DELETE方法详解

article/2025/10/8 19:56:31

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。简单的来讲,对应的分别是查询,新增,修改,删除四种操作。基本已经满足了对于我们的大部分需求。

1.GET请求

一般情况下,通过接口查询相应的数据时一般是采用GET请求,

 @RequestMapping(value = "/order/{no}", method = RequestMethod.GET)public BaseResponse queryTaxiNo(@NotNull @PathVariable("no") String no) throws RuntimeException {return BaseResponse.success(apiTaxiService.queryTaxiNo(no));}

这里是采用的GET请求中的path参数,需要定义相应的注解来进行接收。

@RequestMapping(value = "/canUse", method = RequestMethod.GET)public BaseResponse getTaxiCanUse(@NotNull String estimate_price) throws RuntimeException {return BaseResponse.success(apiTaxiService.getTaxiCanUse(estimate_price));}

这里采用的是GET请求中的query参数,不需要定义相关的注解,拿到参数后进而去进行封装拼接,最后在接口路径后面跟上?进行请求即可。注意采用query格式的时候,参数是不加密的,所以重要数据的话还是要自己斟酌一下。

这里推荐一个参数拼接方法,如果参数为空则不进行拼接的话,可以采用这样的方法。

public static String GetKeyValueUrl(Map<String, Object> parmeters, boolean removeEmptyParameter) {String keyValueUrl = "";if (removeEmptyParameter) {for (Map.Entry<String, Object> e : parmeters.entrySet()) {if (!StringUtils.isEmpty(e.getValue())) {keyValueUrl += e.getKey() + "=" + e.getValue().toString() + "&";}}} else {for (Map.Entry<String, Object> e : parmeters.entrySet()) {keyValueUrl += e.getKey() + "=" + e.getValue().toString() + "&";}}if (keyValueUrl.endsWith("&")) {keyValueUrl = keyValueUrl.substring(0, keyValueUrl.length() - 1);}return keyValueUrl;}

简单的讲,前台首先用map接收需要拼接的参数,然后将map传进来的同时,传入一个true即可。最后用一个string类型接收即可。

另外一种不管参数是否为空都要拼接传值的话,可以适当采用另外一种方法。

 public String getSing(Map md5params) {//吧String[] keyList = arraysMap(md5params);//拼接参数String sing = null;for (int i = 0; i < keyList.length; i++) {if (sing != null) {sing = sing + keyList[i].toLowerCase() + "=" + md5params.get(keyList[i]) + "&";} else {sing = keyList[i].toLowerCase() + "=" + md5params.get(keyList[i]) + "&";}}sing = sing + "md5key=" + key;//MD532位加密并大写return DigestUtils.md5Hex(sing).toUpperCase();}

采用中间一部分即可。

2.POST方式

post方法一般用于创建订单或者创建的某个动作,有的公司还会将修改的操作也加入进来,讲实话,还是用post方法专注于一个动作最好。


这里是post方法中的formData格式,这种格式可以和普通的get传入参数一样,后台进行接收值即可,当然,这里值是加密的。

{"toStation": "suzhou","queryKey": "61091f6881f67ad1c847d9e17ee0edff","passengers": [{"birthday": "","passengerName": "","passengerType": "1","idType": "1","ticketPrice": "59.5","idCard": "****","seatClass": "firstseat","sex": "1"},{"birthday": "","passengerName": "","passengerType": "1","idType": "1","ticketPrice": "59.5","idCard": "****","seatClass": "firstseat","sex": "1"}],"orderNo": "","contactInfo": {"person": "","cellphone": ""},"acceptNoSeat": "0","appKey": "","trainNo": "","fromStation": ""
}

这就是第二种方式,自定义json传值,这个一般有两种做法,第一种就是前台定义好传入的json格式,后台定义相应的dto去进行接收(个人建议这种)。第二种就是后台定义jsonobject进行组装,然后在后台把定义好的json格式的参数传到第三方。。孰轻孰重想必不需要我多解释了。。。

3.PUT请求

put请求专注于update操作,但是与之相关的是还有一个patch请求,两者虽然都专注于update操作,但是前者是全局而言,后者是局限于某一条件或者范围而言,简单的说就是两者的粒度是不同的。大家可以百度一下。

put请求需要注意的是,虽然和post请求都是执行的改变动作,但是它所采用的参数传递需要用到query格式,否则是拿不到前台传递的参数,通俗的说就是参数为null.

4.DELETE请求

顾名思义,就是执行相应的删除操作,配合数据库进行相应的删除动作。

正常情况来讲,四种不同的请求方法用好以后,大部分的操作都是可以涵盖的了。


http://chatgpt.dhexx.cn/article/Zf5hiMsc.shtml

相关文章

何时用put,get,post

PutMapping 场景&#xff1a;前端传给后端几个参数&#xff0c;要求后端进行相关数据的更新。完成更新后&#xff0c;后端一般会返回前端一个布尔值。 方法一&#xff1a;RequestBody 使用PutMapping时&#xff0c;使用RequestBody时&#xff0c;后面要用一个类去包装数据。…

一日一技:极其简单,用Python写前端

今天要介绍这个神器,可以说是 pywebio 的 Plus + P ro + Max 版,原谅我的词穷,但它真的非常的强~ 正常在学习一个新框架之前, 肯定要先调研下这个框架究竟能做些什么事吧? 但对于 streamlit 来说,请你相信我,这是一个你可以无脑去学习的框架,我之所以这么说,…

python前端Django指南之Hello worldl输出

1.创建Django项目 python manage.py startapp +项目名 ptyhon manage.py startapp index 2.添加setting,py属性 部分代码 增加 ‘index’ 3.创建templates文件夹再创建和编辑index.html文件

前端需要学python吗_python是前端语言吗

python语言属于后端开发语言。 Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。在后端…

python基于xlwt库处理excel,并传给前端下载

创建excel book xlwt.Workbook(encodingutf-8) # 获取excel对象 sheet book.add_sheet(状态监视) # 设置excel的sheet名称设置style格式 alignment xlwt.Alignment()# 左右的对其&#xff0c;水平居中 May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER,# HORZ_RIGHT, HORZ_…

随笔-关于前端调取Python数据

description: 使用了jQuery的ajax&#xff0c;Python的Flask库和Flask的跨域包flask-cors 1. 安装依赖包 通过豆瓣源安装对应包 pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com2. 启动Python的Flask from flask import Flask app Fl…

python使用flask模块和前端交互基础

python利用flask模块和前端进行交互基础 一、模块使用&#xff1a; python&#xff1a;flask、flask_cors 【两个都是第三方模块需要进行按照】推荐使用豆瓣源安装&#xff0c;以下为豆瓣源安装方法 pip install flask -i https://pypi.douban.com/simple/ pip install flas…

Python 竟也可以写网页前端了

Python作为胶水语言&#xff0c;真的是无所不能。这不&#xff0c;最近又出现一个基于 Python3&#xff0c;目标是替代 JavaScript 的前端开发工具 — Brython 好用吗&#xff1f;咱今天来试试用它写一个计算器&#xff1a; 不过&#xff0c;我们首先要知道它作为 Python 的客…

用Python写了一个前端,轻轻松松实现前端梦

前端除了用jscsshtml&#xff0c;还有没有其它办法&#xff1f;其实python也可以 1. 安装与基本流程 Python学习交流Q群&#xff1a;906715085### 安装 PyWebIO 和其他的第三方库一样使用pip install PyWebIO就行&#xff0c;没有任何难度&#xff0c;此处不做多讲。但是在正式…

Pyscript,使用Python编写前端脚本

介绍 Anaconda的CEO Peter Wang在前两个月的时候发布了Pyscript&#xff0c;实现了在HTML支持Python的使用&#xff0c;整个引用过程甚至不需要安装任何环境&#xff0c;只需要使用link和script标签即可引用实现Python在HTML中运行的功能&#xff0c;在HTML中也可以运行和使用…

python前端界面实现交互,python的交互模式是什么

如何进入python交互界面 Python交互模式有两种&#xff1a;图形化的交互模式或者命令行的交互模式。打开步骤&#xff1a;首先点击开始菜单。 然后在搜索栏中输入Python&#xff0c;即可看到图形化的交互模式&#xff08;IDLE&#xff08;Python 3.7 64-bit&#xff09;&…

前端运行python代码几种方式_前端和python

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果您细心对比过 json python sdk 和 xml python sdk 的文档,您会发现并不是一个简单的增量更新。 xml python sdk 在架构、可用性和安全性上有了非常大的提升…

逆袭之路——python 前端开发之基础部分【day38】

今日内容概要 前端简介HTTP简介HTTP协议HTML简介head内常见标签body内基本标签body内特殊符号body内常见标签标签的两大重要参数列表标签表格标签 今日内容详细 一、前端简介 什么是前端 什么是后端&#xff1f; 前端&#xff1a; 任何与用户直接打交道的界面都可以…

用Python写前端

分享一个让开发交互式 Web app 超级简单的工具。不会 HTML&#xff0c;CSS&#xff0c;JAVASCRIPT 也没事。交互式 Web app 非常实用&#xff0c;比如说做一个问卷调查页面、一个投票系统、一个信息收集表单&#xff0c;上传文件等等&#xff0c;因为网页是可视化的&#xff0c…

jsp物流配送管理系统

jsp物流配送管理 emmmm 本系统带程序说明书 有需要的可以去我上传的资源里面找&#xff0c;找不到的话&#xff0c;评论我&#xff0c;或者站内私信留下邮箱&#xff0c; 我看到机会给你发&#xff0c;也可以主动联系我博客名。 因为最近太忙一直没有上传完。我会尽快传完…

中小企业物流配送管理系统SSM开发MYSQL数据库javaweb项目j2ee实现

本项目使用IDEA JavaBean Servlet MVC和MYSQL开发,需要eclipse SSM SpringSpringMVCMyBatis或SQL server数据库的请联系QQ1978519681 1 数据库概念设计 2 功能 功能包含:货物种类 货物信息管理 入库 出库 库存盘点 车辆管理 物流配送管理 客户管理 员工管理 3 效果演示

基于SSH的物流配送信息管理平台设计与实现

目 录 1 引言 3 1.1 目的 3 1.2 背景 3 1.3 参考资料 3 1.4 术语 3 2 任务概述 4 2.1 目标 4 3 需求规定 4 3.1 一般性需求 4 3.2 功能性需求 4 6、 中心库房管理员&#xff1a;存放公司所配送的货物&#xff0c;是公司货物的入口。 4 3.2.2 整体业务流程描述 5 1、 客服接收客…

物流管理系统需要的服务器,物流业务管理系统

erp系统物流门店收银方案概述 连锁门店在国内的兴起,服务好,品牌一致,在工作效率上已经不能靠从前的记账方式。现成于条码技术,可以解决现在管理中快速的定位,集中处理,少出错等问题。采用GPRS无线网络,可以解决各个分店到总部的数据远程实时传输。便于集中统一管理,货…

物流配送管理系统(ssm,mysql)

可以实现数据的图形展示、报表展示、报表的导出、打印。 1、仓储数据分析: 将2018年12月1日青岛仓出库量与 1、 仓储主题 仓库分为冷冻仓和冷藏仓,仓库地点至少三个,一个地点有多个冷冻仓和冷藏仓。时间为日、月、季度、年。商品为具体的生鲜产品。仓库设置仓库维度、时间…

【附源码】计算机毕业设计SSM物流配送系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…