@ResponseBody和@RestController
Spring 关于ResponseBody注解的作用
responseBody一般是作用在方法上的,加上该注解表示该方法的返回结果直接写到Http response Body中,常用在ajax异步请求中,
在RequestMapping中 return返回值默认解析为跳转路径,如果你此时想让Controller返回一个字符串或者对象到前台 就会报404 not response的错误。
当加上@ResponseBody注解后不会解析成跳转地址 会解析成相应的json格式的对象 集合 字符串或者xml等直接返回给前台 可以通过 ajax 的“success”:fucntion(data){} data直接获取到。
下面是返回json格式的字符串
- @RequestMapping("/register")
- @ResponseBody
- public String register(TestUserInfo testUserInfo,String username) throws Exception{
- if(testUserService.findByUserName(username)==null){
- testUserService.addTestUser(testUserInfo);
- return "success";
- }else{
- return "fail";
- }
- }
下面是页面跳转
- @RequestMapping("/upload/condition")
- public String search(Model model) {
- List<ArchiveCategory> allArchiveCategory = archiveCategoryApi.getAllCategories();
- List<ArchiveCategory> topLevelCategory = allArchiveCategory.stream().filter(category -> category.getParentid() == 0 || "视频".equals(category.getName())).collect(Collectors.toList());
- model.addAttribute("archiveCategories", topLevelCategory);
- return "beike/upload-pop-condition";
- }
注册验证: 希望返回给前台 一个json字符串 来表示 注册是否成功 而不是 跳转路径 所以此处 方法 加上 @ResponseBody注解 避免被解析成跳转路径
@ResponseBody,一般是使用在单独的方法上的,需要哪个方法返回json数据格式,就在哪个方法上使用,具有针对性。
@RestController,一般是使用在类上的,它表示的意思其实就是结合了@Controller和@ResponseBody两个注解,
如果哪个类下的所有方法需要返回json数据格式的,就在哪个类上使用该注解,具有统一性;需要注意的是,使用了@RestController
注解之后,其本质相当于在该类的所有方法上都统一使用了@ResponseBody注解,所以该类下的所有方法都会返回json数据格式,
输出在页面上,而不会再返回视图。
@ResponseBody和@RestController的更多相关文章
- @ResponseBody与@RestController的作用与区别
在使用springmvc框架的时候,在处理json的时候需要用到spring框架特有的注解@ResponseBody或者@RestController注解,这两个注解都会处理返回的数据格式,使用了该类 ...
- @ResponseBody与@RestController
@ResponseBody与@RestController的作用与区别 https://blog.csdn.net/xfl4629712/article/details/78528387
- SpringMVC的JSON数据交互(七)-@Response,@RestController,@RequestBody用法
1.@RequestBody (自动将请求的数据封装为对象) 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConve ...
- @RestController注解的使用
示例代码:/*@ResponseBody@Controller*/@RestControllerpublic class HelloController { @RequestMapping(" ...
- Spring Boot Web 开发@Controller @RestController 使用教程
在 Spring Boot 中,@Controller 注解是专门用于处理 Http 请求处理的,是以 MVC 为核心的设计思想的控制层.@RestController 则是 @Controller ...
- 说说Spring中的 @RestController 和 @Controller
Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来.今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? S ...
- SpringMVC 常用注解
本文参考了博客,具体请见:http://www.cnblogs.com/leskang/p/5445698.html Spring MVC的常用注解 1.@Controller @Controller ...
- SpringMVC 知识整理
SpringMVC架构设计 MVC是一种架构模式,它把业务的实现和展示相分离. SpringMVC与struts2的区别 Struts2是类级别的拦截, 一个类对应一个request上下文,Sprin ...
- J2EE进阶(十三)Spring MVC常用的那些注解
Spring MVC常用的那些注解 前言 Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam,@ModelAttribute等等这样 ...
随机推荐
- ORACLE表空间offline谈起,表空间备份恢复
从ORACLE表空间offline谈起,表空间备份恢复将表空间置为offline,可能的原因包括维护.备份恢复等目的:表空间处于offline状态,那么Oracle不会允许任何对该表空间中对象的SQL ...
- 【洛谷P5018 对称二叉树】
话说这图也太大了吧 这题十分的简单,我们可以用两个指针指向左右两个对称的东西,然后比较就行了 复杂度O(n*logn) #include<bits/stdc++.h> using name ...
- 三十三、python中configparser配置文件相关操作
配置文件ini [a1]age = 18sex = 'man' [a2]age = 19sex = 'woman'name = False 1.对配置文件进行操作 import configparse ...
- python 网络编程 代码版
写博客最怕写什么? 系统原理,框架内核... #!/usr/bin/env python # -*- coding:utf-8 -*- import socket sk = socket.socket ...
- 《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
Coursera课程<Using Python to Access Web Data> 密歇根大学 Week3 Networks and Sockets 12.1 Networked Te ...
- JavaScript 基础类型,数据类型
1.基础类型:undefined,null,Boolean,Number,String,Symbol Undefined类型:一个没有被赋值的变量会有个默认值undefined; Null类型:nul ...
- 35 怎么优化join
35 怎么优化join 上一篇介绍了join的两种算法:nlj和bnl create table t1(id int primary key, a int, b int, index(a)); cre ...
- mysql新建表
CREATE TABLE table( id int(20) not null auto_increment primary key, //auto_increment当为空时自动补全,注意,类型应该 ...
- 【HANA系列】SAP HANA快捷键大全
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA快捷键大全 ...
- php7.3连接MySQL8.0报错 PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
报的错误: In Connection.php line : SQLSTATE[HY000] [] The server requested authentication method unknown ...