当前位置: 代码网 > it编程>编程语言>Java > 我对@RestController注解的理解

我对@RestController注解的理解

2024年05月18日 Java 我要评论
对@restcontroller注解的理解在spring中@restcontroller的作用等同于@controller + @responsebody。所以想要理解@restcontroller注

对@restcontroller注解的理解

在spring中@restcontroller的作用

等同于@controller + @responsebody。

所以想要理解@restcontroller注解

就要先了解@controller和@responsebody注解

@controller注解

在一个类上添加@controller注解,表明了这个类是一个控制器类。

这里省略对controller注解的说明了。

@responsebody注解

@responsebody表示方法的返回值直接以指定的格式写入http response body中,而不是解析为跳转路径。

格式的转换是通过httpmessageconverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。

如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@restcontroller,而不用在每个方法中标注@responsebody,简化了开发过程。

@controller和@restcontroller的区别:

@controller:

  • 在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
  • 若返回json等内容到页面,则需要加@responsebody注解

@restcontroller:

  • 相当于@controller+@responsebody两个注解的结合
  • 返回json数据不需要在方法前面加@responsebody注解了
  • 但使用@restcontroller这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

代码示例

buyerproductcontroller

/**
 * 买家商品
 * created by 李柏霖
 * 2020/10/17 20:11
 */

package com.lbl.controller;

import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;

@restcontroller
@requestmapping("/buyer/product")
public class buyerproductcontroller {

    @getmapping("/list")
    public void list(){

    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com