小白理解@ResponseBody

本文详细介绍了SpringBoot框架中@ResponseBody注解的功能与用法。该注解用于将Java对象转换为JSON格式,直接响应给客户端,避免了视图处理器的调用,简化了数据传输过程。

@ResponseBody的作用是将java对象转换成json格式。

@Controller
public class HelloController {
    @RequestMapping("/boot/hello")
    public 
    String hello(){
        return "Hello";
    }
}

在这段代码中当页面/boot/hello发起请求时,springboot会依据return后的字符串,去resources/static下取寻找名为Hello的静态页面,如果没有页面,会再去templates下寻找动态页面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NiEfqRop-1586388222964)(G:\Program Files (x86)]\Typora\localhost\springboot\response_页面)

很明显这里我是没有创建这个页面的,所以不出意外会出现报错。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4zjrrdbK-1586388222966)(/response_报错)]

果然!

并且最下面一行说的就是template Hello可能不存在。

此时,我们加上@ResponseBody注解,在使用此注解之后不会再走视图处理器,也就是不会再去resources下寻找对应的页面,而是将这个方法的返回值转换成json数据,因为这里return的就只是一个单纯的字符串,所以页面上应该会打印出这个Hello。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2dsd4F8-1586388222967)(/response_字符串)]

成功得到!

因为这只是个字符串,可能对将java对象转换成json格式还是没有深刻的理解。

在这里我创建一个User类,并给他赋值,将这个user对象传给页面来看下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UVlNF6XA-1586388222968)(/response_json)]

页面成功获得这个数据,这就是所谓的将java对象转换成json格式,无论这个传过去的对象有多复杂,它的本质就是像演示的这样。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BIlZrrY1-1586388222968)(/response_json_演示)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值