@ResponseBody详解:用于响应体响应数据

RestFul风格或者是web阶段接触过的异步请求,都需要把数据转换成Json放入响应体中。

@ResponseBody的作用其实是将java对象转为json格式的相应内容

使用 @RequestMapping注解时,Spring会将返回值解析为视图路径,然后跳转路径返回对应的视图页面(Web应用中用来展示数据给用户的界面,通常是一个HTML文件)。不过当添加 @ResponseBody 注解后,Spring会认为这个方法返回的是响应体数据,然后将数据输出到HTTP响应体中。

@ResponseBody可以加在类上和方法上,加在类上可以写成@RestController,其的作用等同于@Controller + @ResponseBody;使得该类中的所有方法的返回类型都转为json

具体使用:

只要把要转换的数据直接作为方法的返回值返回即可。SpringMVC会帮我们把返回值转换成json。

如下面的案例,通过请求路径去获取参数id,去查询对应id的用户信息,并且将其转换成json响应到响应体中。

@Controller
@RequestMapping("/test")
public class testController {
​
    @GetMapping("/user/{id}")
    @ResponseBody
    public User findById(@PathVariable("id") Long id){
        User user = userService.getUserById(id);
        return user;
    }
}

很多时候都会创建一个公共返回对象,包含状态码,消息,数据。在后端处理请求并返回相应时,将结果封装到公共返回对象中,然后通过@ResponseBody注解将其转换为JSON格式并返回给前端。

 ——————————————————————————————————————————

其他Controller类常用的注解可以这个文章的汇总:Web开发Controller类详解-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/207655.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【爬虫逆向分析实战】某笔登录算法分析——本地替换分析法

前言 作者最近在做一个收集粉币的项目,可以用来干嘛这里就不展开了😁,需要进行登录换算token从而达到监控收集的作用,手机抓包发现他是通过APP进行计算之后再请求接口的,通过官网分析可能要比APP逆向方便多&#xff0…

SSM项目实战-service实现

1、SysUserService.java package com.atguigu.schedule.service;import com.atguigu.schedule.pojo.SysUser;public interface SysUserService {SysUser getSysUser(SysUser sysUser); }2、SysUserServiceImpl.java package com.atguigu.schedule.service.impl; import com.atg…

Verilog 入门(五)数据流模型化

文章目录 连续赋值语句时延 连续赋值用于数据流行为建模;相反,过程赋值用于顺序行为建模。组合逻辑电路的行为最好使用连续赋值语句建模。 连续赋值语句 连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值),它的格式…

[python模块]python3.12版本利用whl文件快速安装dlib库(无需安装cmake)

截止目前网上还没有人可以做出python3.12版本的whl的dlib模块,但是我这边做到了,采用复杂编译流程终于测试完成,并且顺利安装在python3.12环境中,虽然dlib之前网上有很多python3.11以下版本,但是python3.12绝对是独家首…

[论文阅读]Sparse Fuse Dense

SFD Sparse Fuse Dense: Towards High Quality 3D Detection with Depth Completion 论文网址:SFD 论文代码:SFD 论文简读 本文主要关注如何利用深度完成技术提高三维目标检测的质量。论文提出了一种名为 SFD(Sparse Fuse Dense&#xff0…

单页应用的架构与设计:打造高效可扩展的 Web 应用(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

力扣 --- 加油站

题目描述: 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个…

计算机导论——第37章 磁盘驱动器

关键问题:如何存储和访问磁盘上的数据 现代磁盘驱动器如何存储数据?接口是什么?数据是如何安排和访问的?磁盘调度如何提高性能? 1. 接口 驱动器制造商唯一保证的是单个512字节的写入是原子的,即它将完整地…

口袋参谋:关键词一秒卡首页,实战操作步骤!

​近期有不少的新手商家来问,关于淘宝卡首屏的事情。据我了解至少有99%的中小卖家,是不了解淘宝卡首屏的! 那什么是淘宝卡首屏?有什么好处?如何操作?今天我来跟你们好好说道说道!小本本都准备好…

Visual Studio通过ClaudiaIDE插件设置背景图片

首先,在VS菜单栏上选择扩展-管理扩展,搜索插件为 ClaudiaIDE, 下载完成之后,关闭VS,点击Modify按钮安装: 等待安装完成,进入 VS , 打开 工具----选项---- ClauDiaIDE 界面 这个是背景色调 我选的…

anaconda3的激活和Cvcode配置C++:报错:CondaIOError: Missing write permissions in:

报错:CondaIOError: Missing write permissions in: 原因:anaconda所在文件夹只有root 才有权限 查看用户名 whoamisudo chown -R 用户名 /home/anaconda3激活anaconda3 #激活 source activate #退出 source deactivate 配置Cvcode配置C 首先看g的…

matlab diff和gradient

gradient 求解梯度。 示例 FX gradient(F) 返回向量 F 的一维数值梯度。输出 FX 对应于 ∂F/∂x,即 x(水平)方向上的差分。点之间的间距假定为 1。 使用方法: x -2:0.2:2; y x’; z x .* exp(-x.^2 - y.^2); [px,py] gradien…

11-28 SpringBoot1

约定大于配置 简化Spring开发, spring boot致力于简洁,让开发者写更少的配置,程序能够更快的运行和启动。它是下一代javaweb框架,并且它是spring cloud(微服务)的基础。dev-ops:开发者,运维者。 springboot特点:优点面试重点 1)为基于Spring…

带头结点的双向循环链表

目录 带头结点的双向循环链表 1.存储定义 2.结点的创建 3.结点的初始化 4.尾插结点 5.尾删结点 6.头插结点 7.头删结点 8.查找并返回结点 9.在pos结点前插入结点 10.删除pos结点 11.打印链表 12.销毁链表 13.头插结点2.0版 14.尾插结点2.0版 前言: 当…

go开发之个人微信号机器人开发

简要描述: 下载消息中的文件 请求URL: http://域名地址/getMsgFile 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型…

IO / day01 作业。

1.使用fgets统计一个文件的行号 //使用fgets统计一个文件的行号#include <string.h> #include <stdlib.h> #include <stdio.h>int main(int argc, const char *argv[]) {if(argc<2) //获取文件名{printf("input error\n!");printf("usage…

Linux系统的常见命令十一,文本编辑器(vi和vim)

目录 vi命令vim命令vi命令与vim命令的区别 本文主要介绍Linux系统的文本编辑器命令vi和vim&#xff0c;还有它们之间的区别。 vi命令 vi是Linux和其他类Unix操作系统中最常用的文本编辑器之一&#xff0c;它的功能强大且灵活&#xff0c;可以通过键盘快捷键来完成大量的编辑操…

【数据结构】线段树

目录 1.概述2.代码实现2.1.聚合操作——求和2.2.聚合操作——求和、求最小值、求最大值 3.应用4.与前缀和之间的区别 更多数据结构与算法的相关知识可以查看数据结构与算法这一专栏。 1.概述 &#xff08;1&#xff09;线段树 (Segment Tree) 是一种二叉树形数据结构&#xff…

算法通关村第一关—白银挑战—链表高频面试算法题—查找两个链表的第一个公共子节点

文章目录 查找两个链表的第一个公共子节点&#xff08;1&#xff09;暴力求解法&#xff08;2&#xff09;使用哈希Hash⭐&#xff08;3&#xff09;使用集合⭐ - 与Hash类似&#xff08;4&#xff09;使用栈⭐&#xff08;5&#xff09;仍有更多方法&#xff0c;作者尚未理解&…

安卓小程序与编译抓包

APK小程序渗透测试 查找bp的证书 在浏览器中打开bp代理&#xff0c;然后在网页中搜索hppps://burp 点击高级——接受风险并继续 拿到证书 将浏览器信任证书 打开设置 搜索证书——查看证书 点击导入——导入证书 证书验证成功后&#xff0c;访问网页&#xff08;吾爱破解&a…
最新文章