文章目录

  • 前言
  • 一、问题引入
  • 二、http几种请求方式的使用
  • 总结

前言

我们从大一刚开始学习Java到现在已经写了两三次项目后,我们的编程能力在逐渐提升,但是有个很容易忽略的点,虽然说平时对开发没有太大的影响,但是即使是很小的错误,都极有可能会对我们未来的开发和工作造成打击性的影响。所以今天我就来记录一下这个学习过程。

一、问题引入

时日至今,我很荣幸能够成为一名web后端学习者,在我们前后端合作写项目的同时,我们后端的任务就是维护数据和写接口,总所周知,接口决定了一个功能的实现,所以对于接口的问题,就是http的请求方式的正确与否。

依稀记得,我们第一次写项目,由于对http请求方式不是很了解,所以使用的最多的就是post请求和get请求,当时只是简单的记得,post请求能够隐藏请求参数,get请求的参数会加在url后面。当时这种简单的认知只是觉得虽然说是这样,但是其实并没有太大的区别,就是说,登录使用post,其他的都行。但是其实这种是不对的,每种请求方式都有自己的特性,使用的方式、场景也不尽相同。

印象最深刻的一次,就是我当时在网上查资料学习了一些关于这些http请求方式的知识,并且当时在项目中使用了,我们的前端人员竟然问我,这种请求方式是什么,怎么没有见过。我当时觉得这并没有什么,但是随着知识、项目的学习,我觉得这些却变得极其重要了起来。

下面就让我们一起来学习下,http几种请求方式吧。

二、http几种请求方式的使用

1.GET

(1)get请求是用来获取数据的,就是说只是用来查询数据,不对服务器的数据进行任何的修改、添加、删除等操作,就可以使用get请求;

(2)get请求会把请求的参数加在url后面,这样会产生安全问题,稍微懂点编程的人员都可以通过url来获取你网址的参数和值;

(3)get请求的参数对于请求的url来说并没有大小限制,但是对于不同的浏览器可能会有不同的限制。

//比如,使用id来查询演员信息
@GetMapping("/findActorMessage")
public Result findActorMessage(Integer actorId) {return actorService.findActorMessage(actorId);
}

这样的话,对于接口的请求的url就是以下这种

Request URL:http://localhost:8080/video/actor/findActorMessage?actorId=1

2.POST

(1)post请求一般是对服务器的数据的操作,常用来使用数据的提交,新增操作,这种请求会改变数据的种类等资源;几乎目前所有的提交操作都是通过post来实现;

(2)post请求的请求参数一般都是放在请求体中,不会显示在url后面

(3)post请求的大小也会被服务器限制,这种限制的主要因素是服务器的处理能力。

    //用于向数据库添加用户操作@PostMapping("/addUser")public ResponseResult addUser(User user) {User user1 = userService.findUserByAccount(user.getAccount());if (user1 == null) {userService.addUser(user);return ResponseResult.success("添加成功");} else {return ResponseResult.error("用户已存在");}}

这种方式的请求URL如下

Request URLhttp://localhost:8080/video/user/addUser?account=zzal123456&password=123456

但是post中的请求参数会隐藏在方法的请求体当中。

3.PUT

(1)PUT请求是向服务端发送数据、改变信息的,即使POST和PUT请求一样都会改变服务器的数据,但是PUT的侧重点在于对数据的修改操作,而POST则是对数据的添加操作;

(2)PUT请求需要注意的是,虽然和POST请求的执行都是改变动作,但是它采用的参数传递需要使用query格式,否则是拿不到传递的参数的,也就是说如果不使用query格式,那么就只能享受空指针异常了。

    //这里用于修改操作@ApiOperation(value = "用户修改邮箱")@PutMapping("/findAllUser")public ResponseResult updateEmail(String email, int userId) {return userService.updateEmail(email, userId);}

4.DELETE

DELETE请求顾名思义,很简单,就是删除资源,一般用于数据库数据的删除操作,这里不再赘述。

   //这里用于删除操作@ApiOperation(value = "根据id删除用户")@DeleteMapping("/deleteById")public ResponseResult deleteById(int userId) {User user = userService.findUserById(userId);int i = userService.deleteUserById(userId);if (i > 0) {return ResponseResult.success("删除成功", user);} else {return ResponseResult.error("抱歉未找到");}}

5.HEAD

(1)HEAD请求与GET请求类似,区别在于它只是请求页面的头信息,用来获取报头信息,返回的响应中没有内容,GET请求的返回中有实体信息。

(2)HEAD请求一般用来判断类型、根据返回状态确定资源是否存在、资源是否更新以及更新的时间等。

(3)HEAD请求常常被忽略,但是能提供很多的有效信息,特点主要有:只请求资源的头部、可以检查超链接的有效性、检查网页是否被修改、更多用于自动搜索机器人获取页面的某些认证信息等。

6.OPTIONS

(1)由于OPTIONS请求暂时我还没有接触到,所以此部分只是查询资料后总结,这里只是对这种请求方式的简单介绍。

(2)OPTIONS请求是用于获取由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项,通过这个方法,客户端可以在才取具体资源之前,决定对该资源采用何种必要措施,或者了解服务器的性能;

(3)POPTIONS请求方法的主要用途有两个:

1)获取服务器支持的HTTP请求方法;

2)用来检查服务器的性能。


总结

以上的http的请求方式基本上可以满足我们现阶段的开发需求,同时,正确使用请求方式也是一个小的细节,希望能对大家有所帮助。

Http请求方式的正确使用场景相关推荐

  1. 详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景

    一. get与post请求方式 post:一般用来提交表单,请求数据被包装在body体中,是安全的: get:一般用来获取数据信息,当然也可以用来获取表单,请求参数在url中,是不安全的: 二. co ...

  2. 6748如何设置edma为事件触发方式_全面分析前端的网络请求方式

    作者|ConardLi 编辑|覃云 来源|code 秘密花园公众号 一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本参数(url,请求方式) 请求参数 ...

  3. 全面分析前端的网络请求方式

    一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本参数(url,请求方式) 请求参数.请求参数类型 设置请求头 获取响应的方式 获取响应头.响应状态.响 ...

  4. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎

    TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...

  5. php 请求方式,PHP发起HTTP请求有哪几种方式?

    PHP发起HTTP请求方式有:1.通过[file_get_contents]发送get请求:2.通过[CURL]发送get请求:3.通过[fsocket]发送get请求. PHP发起HTTP请求方式有 ...

  6. 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用

    <一>四种请求方式: GET 向服务器发起数据请求,获取信息.类似于数据库的select操作,只是查询,不会影响资源的内容. POST 向服务器发送数据,该请求会改变数据的种类等资源.类似 ...

  7. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式:1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信 ...

  8. Express中app.use中间件的用法-匹配所有的请求方式

    场景 Node的Web应用框架Express的简介与搭建HelloWorld: Node的Web应用框架Express的简介与搭建HelloWorld_霸道流氓气质的博客-CSDN博客 Express ...

  9. AJAX中的请求方式以及同步异步的区别

    请求方式,分为GET与POST: GET   最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用window.location.searc ...

最新文章

  1. Nature调查:读博难,在中国读博难上加难
  2. 架构之美读书笔记03
  3. 年轻人,别动不动就想搞个“大社交”,工具型社交才是正路子
  4. C++ STL学习之容器set和multiset (补充材料)
  5. 探索startActivity流程及在Activity间是如何传递Intent的
  6. mysql 分库分表架构与方案
  7. Guava链式风格Ordering比较器实例
  8. Android MemInfo 各项的意义(转)
  9. Mac mysql 运行sql文件中文乱码的问题
  10. C/C++使用strcpy报错解决方案
  11. 敏捷个人:免费下载【敏捷个人 –认识自我、管理自我 V0.2.pdf】
  12. 官方授权正版 Avast AntiTrack Premium 反跟踪工具软件
  13. Java对接谷歌邮箱-代码及其谷歌邮箱账号配置
  14. 复习简记转发器、网桥、路由器、网关的功能
  15. 曲率、曲率圆和曲率半径
  16. 1000人 规模园区网设计
  17. 电影《我不是药神》观后感
  18. 删除Management Data Warehouse (MDW) job失败
  19. Java手机游戏开发简明教程 (SunJava开发者认证程序员 郎锐)
  20. 矢量造型工具重绘矢量标志教程

热门文章

  1. 调用百度地图API获取经纬度(详细步骤)
  2. 未来科技科幻电影全息效果HUD Ultimate FUI HUD Library
  3. NSQ单节点和集群搭建
  4. 使用R语言制作令人惊艳的海报
  5. robin-Miller判断素数算法
  6. sqlConnection连接不上sql 2000 原来是因为没有打补丁sp4
  7. mysql like带字符串_(转)MySQL数据表中带LIKE的字符匹配查询
  8. 关于游戏现状的一点想法
  9. ChatGPT牛逼,是因为Transformer模型牛逼...
  10. 【Simulator IOS虚拟机】IOS虚拟机设置中文输入