SpringMVC:ResponseEntity使用

2024-01-12 21:48

本文主要是介绍SpringMVC:ResponseEntity使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用ResponseEntiry编写更符合restful风格的代码
  • 先放一张SpringMVC的原理图:

在这里插入图片描述


一、ResponseEntity介绍
  • ResponseEntity是一个类属于org.springframework.http,从导包记录可以看出:

    import org.springframework.http.ResponseEntity;
    
  • ResponseEntity 表示整个HTTP响应:状态码,响应头和响应体。因此,我们可以使用它来完全配置HTTP响应。

  • ResponseEntity是一种泛型类型。因此,我们可以使用任何类型作为响应主体。

二、ResponseEntity常用方法

1、只响应:状态码,不响应数据,如insert、update、delete操作时:

//方式一,使用ResponseEntiry的静态方法
return ResponseEntity.status(HttpStatus.BAD_REQUEST); 
//方式二,使用ResponseEntiry的静态方法
return ResponseEntity.status(400); 
//方式三,使用ResponseEntity的构造函数,通过数字状态码解析
return new ResponseEntity<>(HttpStatus.resolve(400)); 
//方式四,使用ResponseEntity的构造函数,通过枚举类型获取
return new ResponseEntity<>(HttpStatus.BAD_REQUEST); 

以下状态码获取都可以通过这两种方式获得。(数字状态码解析、枚举类型获取)

2、只响应:数据

//使用ResponseEntiry的静态方法,默认状态码200,pageinfo是分页数据
return ResponseEntity.ok(pageInfo);

3、响应:数据状态码

//使用ResponseEntity的构造函数
return new ResponseEntity<>(pageInfo,HttpStatus.resolve(200));

4、响应:状态码头信息

//创建响应头对象,并添加头信息
HttpHeaders headers = new HttpHeaders();
headers.add("Custom-Header", "foo");
//使用ResponseEntity的构造函数
return new ResponseEntity<>(headers,HttpStatus.resolve(200));

5、响应:状态码数据头信息

  • 方式一
    //创建响应头对象,并添加头信息
    HttpHeaders headers = new HttpHeaders();
    headers.add("Custom-Header", "foo");
    //使用ResponseEntity的构造函数
    return new ResponseEntity<>(pageInfo,headers,HttpStatus.resolve(200));
  • 方式二
	//创建响应头对象,并添加头信息HttpHeaders headers = new HttpHeaders();headers.add("Custom-Header", "foo");//使用ResponseEntiry的静态方法,默认状态码200return ResponseEntity.ok().header("Custom-Header", "001").body(pageInfo);
三、HttpStatus状态码
  • HttpStaus是一个枚举类,包含了所有的状态码信息

    public enum HttpStatus 
    
  • 常用状态码对应表:其他的自行去HttpStatus枚举中查看

    枚举属性状态码
    CONTINUE100
    OK200
    CREATED201
    NO_CONTENT204
    PARTIAL_CONTENT206
    MOVED_PERMANENTLY301
    FOUND302
    NOT_MODIFIED304
    BAD_REQUEST400
    UNAUTHORIZED401
    FORBIDDEN403
    NOT_FOUND404
    INTERNAL_SERVER_ERROR500
    SERVICE_UNAVAILABLE503

这篇关于SpringMVC:ResponseEntity使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599256

相关文章

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法