【Spring MVC】_SpringMVC项目返回数据

目录

1. 注解使用示例

1.1 使用@Controller注解

1.2 使用@RestController注解

1.3 使用@Controller与@ResponseBody注解

2. 关于ResponseBody注解


前文已经介绍过使用@Controller注解向前端返回一个HTML页面,接下来将介绍向前端返回数据。

关于@Controller和@RestController的区别与联系,本专栏已有介绍,如需要请查看下文:

【Spring MVC】_SpringMVC项目返回静态页面_mvc 返回当前页面-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/138230689简单概括:返回视图使用@Controller,

返回数据使用@RestController   或     @Controller与@ResponseBody;

在本专栏介绍SpringMVC项目传参问题时,其实一直在使用@RestController注解向前端返回数据,本篇仍做简单示例:

1. 注解使用示例

1.1 使用@Controller注解

.java文件内容如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/return")
@Controller
public class ReturnController {
    @RequestMapping("/returnData")
    public String returnData(){
        return "Return as Data.";
    }
}

运行启动类,测试结果如下:

由于使用了@Controller注解,则返回视图,

故而在static路径下查找“Return as Data”的视图,查询未果故而报404错误;

1.2 使用@RestController注解

.java文件内容如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/return")
@RestController
public class ReturnController {
    @RequestMapping("/returnData")
    public String returnData(){
        return "Return as Data.";
    }
}

运行启动类,测试结果如下:

1.3 使用@Controller与@ResponseBody注解

.java文件内容如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/return")
@Controller
@ResponseBody
public class ReturnController {
    @RequestMapping("/returnData")
    public String returnData(){
        return "Return as Data.";
    }
}

运行启动类,测试结果如下:

2. 关于ResponseBody注解

查看源码:

@ResponseBody注解就可以修饰类,也可以用于修饰方法

修饰类的时候表示:这个类下的所有方法返回的均为数据;

修饰方法时:表示该方法返回的是数据;

如果一个类中所有的方法都需要返回数据,就可以把该注解加在类上;

如果一个类中既有方法返回数据,又有方法返回页面,则在返回数据的方法上加该注解即可;

相关推荐

  1. 修改ETCD返回数据限额

    2024-05-25 22:36:55       32 阅读
  2. 项目搭建之统一返回

    2024-05-25 22:36:55       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-25 22:36:55       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-25 22:36:55       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-25 22:36:55       82 阅读
  4. Python语言-面向对象

    2024-05-25 22:36:55       91 阅读

热门阅读

  1. 大 图 像:大数据的延展

    2024-05-25 22:36:55       33 阅读
  2. Docker【2】iptables 错误解决

    2024-05-25 22:36:55       41 阅读
  3. docker命令详解大全

    2024-05-25 22:36:55       35 阅读
  4. jQuery实现瀑布流

    2024-05-25 22:36:55       36 阅读
  5. C++|设计模式(〇)|设计模式的六大原则

    2024-05-25 22:36:55       36 阅读
  6. 如何配置和使用 Prometheus 和 Grafana

    2024-05-25 22:36:55       37 阅读
  7. 封装UUID

    2024-05-25 22:36:55       28 阅读
  8. 美国空军出版物:网络空间作战

    2024-05-25 22:36:55       28 阅读
  9. C#和C++有什么区别?

    2024-05-25 22:36:55       32 阅读
  10. 微信小程序post请求

    2024-05-25 22:36:55       29 阅读
  11. 若依框架代码生成器详解:从入门到高级定制

    2024-05-25 22:36:55       30 阅读