返回顶部
首页 > 资讯 > 后端开发 > Python >RestTemplate的DELETE及PUT等请求方法使用精讲
  • 451
分享到

RestTemplate的DELETE及PUT等请求方法使用精讲

2024-04-02 19:04:59 451人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、RESTful风格与Httpmethod二、使用DELETE方法去删除资源三、使用PUT方法去修改资源三、通用请求方法exchange方法四、使用HEAD方法获取HTTP请求

本文是精讲RestTemplate第5篇,前篇的blog访问地址如下:

RestTemplate在spring或非Spring环境下使用精讲

RestTemplate实现多种底层HTTP客户端类库的切换用法

RestTemplate发送HTTP GET请求使用方法详解

RestTemplate发送HTTP POST请求使用方法详解

为了方便后续开发测试,首先介绍一个网站给大家。JSONPlaceholder是一个提供免费的在线REST api的网站,我们在开发时可以使用它提供的url地址测试下网络请求以及请求参数。或者当我们程序需要获取一些模拟数据、模拟图片时也可以使用它。

一、RESTful风格与HTTP method

熟悉RESTful风格的朋友,应该了解RESTful风格API使用HTTP method表达对资源的操作。

常用HTTP方法RESTful风格语义(操作)
GET查询、获取数据
POST新增、提交数据
DELETE删除数据
PUT更新、修改数据
HEAD获取HTTP请求头数据
OPTIONS判断URL提供的当前API支持哪些HTTP method方法

在前面的章节,我已经为大家详细的介绍了RestTemplate的GET和POST的相关的使用方法,本节来为大家介绍DELETE、PUT、HEAD、OPTIONS。

二、使用 DELETE方法去删除资源

删除一个已经存在的资源,使用RestTemplate的delete(uri)方法。该方法会向URL代表的资源发送一个HTTP DELETE方法请求。

@Test
void testDelete()  {
   String url = "http://jsonplaceholder.typicode.com/posts/1";
   restTemplate.delete(url);
}

在前面章节测试类的基础上,写如上代码的测试用例。上面代码含义为删除posts列表里面的第1个帖子。

三、使用PUT方法去修改资源

修改一个已经存在的资源,使用RestTemplate的put()方法。该方法会向URL代表的资源发送一个HTTP PUT方法请求。

@Test
void testPut()  {
   // 请求地址
   String url = "http://jsonplaceholder.typicode.com/posts/1";
   // 要发送的数据对象(修改数据)
   PostDTO postDTO = new PostDTO();
   postDTO.setUserId(110);
   postDTO.setTitle("zimug 发布文章");
   postDTO.setBody("zimug 发布文章 测试内容");
   // 发送PUT请求
   restTemplate.put(url, postDTO);
}

上面代码RESTful风格语义是:修改posts列表里面的第1个帖子。

三、通用请求方法exchange方法

exchange方法是一个通用的方法,它可以发送GET、POST、DELETE、PUT等等HTTP方法请求。

下面的两种方式发送GET请求效果是一样的

//使用getForEntity发送GET请求
ResponseEntity<PostDTO> responseEntity
            = restTemplate.getForEntity(url, PostDTO.class);
//使用exchange发送GET请求
ResponseEntity<PostDTO> responseEntity = restTemplate.exchange(url, HttpMethod.GET,
            null, PostDTO.class);

下面的两种方式发送POST请求效果是一样的

// 使用postForEntity发送POST请求
ResponseEntity<String> responseEntity
            = restTemplate.postForEntity(url, postDTO, String.class);
// 使用exchange发送POST请求
ResponseEntity<String> responseEntity
            = restTemplate.exchange(url, HttpMethod.POST,null, String.class);

下面的两种方式发送DELETE请求效果是一样的,只是一个有返回值,一个返回值为void

// 使用delete发送DELETE请求,返回值为void
restTemplate.delete(url);
// 使用exchange发送DELETE请求
ResponseEntity<String> result = restTemplate.exchange(url, HttpMethod.DELETE,null,String.class);

上面为大家举了几个用exchange()发送请求的例子,exchange()还能针对很多的HTTP method类型发送请求,是通用方法!

四、使用HEAD方法获取HTTP请求头数据

使用*headForHeaders()*API 获取某个资源的URI的请求头信息,并且只专注于获取HTTP请求头信息。

@Test
public void testHEAD()  {
   String url = "http://jsonplaceholder.typicode.com/posts/1";
   HttpHeaders httpHeaders  = restTemplate.headForHeaders(url);
   //断言该资源接口数据为JSON类型
   assertTrue(httpHeaders.getContentType()
               .includes(MediaType.APPLICATION_JSON));
   System.out.println(httpHeaders);
}

请求头信息输出打印结果如下

五、使用OPTIONS获取HTTP资源支持的method

下文代码使用optionsForAllow测试该URL资源是否支持GET、POST、PUT、DELETE,即增删改查。

@Test
public void testOPTIONS()  {
   String url = "http://jsonplaceholder.typicode.com/posts/1";
   Set<HttpMethod> optionsForAllow  = restTemplate.optionsForAllow(url);
   HttpMethod[] supportedMethods
               = {HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE};
   //测试该url资源是否支持GET、POST、PUT、DELETE,即增删改查
   assertTrue(optionsForAllow.containsAll(Arrays.asList(supportedMethods)));
}

以上就是RestTemplate的DELETE及PUT等请求方法使用精讲的详细内容,更多关于RestTemplate的DELETE及PUT等请求用法的资料请关注编程网其它相关文章!

--结束END--

本文标题: RestTemplate的DELETE及PUT等请求方法使用精讲

本文链接: https://lsjlt.com/news/142813.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • RestTemplate的DELETE及PUT等请求方法使用精讲
    目录一、RESTful风格与HTTPmethod二、使用DELETE方法去删除资源三、使用PUT方法去修改资源三、通用请求方法exchange方法四、使用HEAD方法获取HTTP请求...
    99+
    2024-04-02
  • SpringBoot中的PUT和Delete请求使用
    目录PUT和Delete请求使用我们可以通过如下三个步骤实现解决办法如何支持put/delete请求1.在application.properties中配置2.使用时依旧和sprin...
    99+
    2024-04-02
  • SpringBoot中的PUT和Delete请求怎么使用
    这篇文章主要讲解了“SpringBoot中的PUT和Delete请求怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot中的PUT和Delete请求怎么使用”吧!PUT...
    99+
    2023-07-02
  • Springboot使用put、delete请求报错405的处理
    目录Springboot使用put、delete请求报错Springboot错误提示405状态一、错误提示405状态截图二、405状态的原因三、解决方法Springboot使用put...
    99+
    2024-04-02
  • RestTemplate发送HTTP GET请求使用方法详解
    目录前言一、getForObject()方法1.1.以String的方式接受请求结果数据1.2.以POJO对象的方式接受结果数据1.3.以数组的方式接收请求结果1.4.使用占位符号传...
    99+
    2024-04-02
  • RestTemplate发送HTTP POST请求使用方法详解
    目录一、postForObject发送JSON格式请求二、postForObject模拟表单数据提交三、url支持占位符语法四、postForEntity()方法五、postForL...
    99+
    2024-04-02
  • Java基础精讲方法的使用
    目录一、方法二、方法的重载三、方法递归四、小结一、方法 方法是什么? 在Java中方法就相当于C语言中的函数。因为有时候我们需要一块代码重复使用,这时候就可以使用方法。 为什么要用方...
    99+
    2024-04-02
  • Flutter网络请求Dio库的使用及封装方法
    这篇文章主要讲解了“Flutter网络请求Dio库的使用及封装方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flutter网络请求Dio库的使用及封装方法”吧!Dart语言内置的Http...
    99+
    2023-06-30
  • Android中使用Post请求的方法
    本文实例讲述了Android中使用Post请求的方法。分享给大家供大家参考。具体如下: 一、需要用到的场景 在jQuery中使用$.post()就可以方便的发起一个post请求...
    99+
    2022-06-06
    方法 post请求 post Android
  • Angular中http请求模块的使用方法
    这篇文章主要介绍了Angular中http请求模块的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先模块引入import { BrowserMo...
    99+
    2023-06-06
  • Jmeter 使用Json提取请求数据的方法
    目录Json提取器使用介绍1,变量名2,Json表达式3,Match no4,默认值提取变量的后续操作调试器样本查看变量取值情况Beanshell写变量到文件遍历提取到的值使用Jso...
    99+
    2024-04-02
  • PHP使用HTTP请求发送邮件的方法
    PHP是一种广泛使用的编程语言,其中一个常见的应用就是发送电子邮件。在这篇文章中,我们将讨论如何使用HTTP请求发送邮件。我们将从以下几个方面来介绍这个主题:什么是HTTP请求发送邮件的基本原理使用PHP发送HTTP请求发送邮件的示例代码什...
    99+
    2023-05-21
    Http请求 PHP 邮件发送
  • SpringBoot2中使用@RequestHeader获取请求头的方法
    目录一、使用@RequestHeader获取请求头(一)获取某一个请求头(二)获取数值型请求头(三)一次性获取所有请求头二、@RequestHeader注解详解(一)name、val...
    99+
    2024-04-02
  • jQuery非Ajax的POST请求方法怎么使用
    这篇文章主要介绍了jQuery非Ajax的POST请求方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jQuery非Ajax的POST请求方法怎么使用文章都会有所收获,下面我们一起来看看吧。一、AJA...
    99+
    2023-07-05
  • springboot中restful风格请求的使用方法示例
    目录restful风格springboot中的使用1.创建html表单页面2.在yml配置文件中开启rest表单支持3.编写controller层及对应映射处理4.启动服务,逐个访问...
    99+
    2023-02-04
    spring boot restful springboot restful风格 springboot的restful风格
  • Jdk11使用HttpClient提交Http2请求的实现方法
    HTTP2协议的强制要求https,如果⽬标URI是HTTP的,则⽆法使⽤HTTP 2协议 测试 -> https://http2.akamai.com/demo ...
    99+
    2024-04-02
  • request基本使用及各种请求方式参数的示例
    目录各种请求方式request各种参数request基本使用get请求携带参数get请求携带headers头get请求携带cookiepost请求携带数据(注册、登录)session...
    99+
    2024-04-02
  • putty以及psftp的基本操作,使用方法等
    1、putty登陆远程服务器 open之后进入登陆界面,输入用户名之后点击Enter,之后输入登陆密码(界面不显示,输入正确后直接Enter就可以)  进入之后的界面 之后就可以输入命令进行操作了 2、文件传输psftp: 运行psft...
    99+
    2023-09-11
    服务器 运维 linux
  • React中使用axios发送请求的几种常用方法
    目录React中安装并引入axios依赖 使用axios进行GET请求 使用axios.get方式 使用axios(config {...}) 使用axios进行POST请求 使用a...
    99+
    2024-04-02
  • Android使用httpPost向服务器发送请求的方法
    本文实例讲述了Android使用httpPost向服务器发送请求的方法。分享给大家供大家参考,具体如下: import java.util.List; import org....
    99+
    2022-06-06
    服务器 方法 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作