首先看下面的代码

@Controller
@RequestMapping("/users")
public class UserController {@RequestMapping(method=RequestMethod.GET)public HttpResponse getList(HttpServletRequest req,HttpServletResponse rep){String id = req.getSession().getId();return new HttpResponse(id);}
}

在通过ajax访问的时候会出现

javax.servlet.ServletException: Circular view path [users]: would dispatch back to the current handler URL [/users] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

这个异常,它的意思是没有指定视图结果,让你检查一下你的视图配置,在springmvc中我们是使用viewResolver,通过在controller中return的前缀来决定跳转到相应的视图

那么在springBoot怎么解决这个问题?

两个方案:

1、添加@ResponseBody

@Controller
@RequestMapping("/users")
public class UserController {
  @RequestMapping(method=RequestMethod.GET)
  @ResponseBody
  public HttpResponse getList(HttpServletRequest req,HttpServletResponse rep){
      String id = req.getSession().getId();
      return new HttpResponse(id);
    }
}

 

2、将@Controller换成@RestController// 标记为:restful

@RestController
@RequestMapping("/users")
public class UserController {@RequestMapping(method=RequestMethod.GET)public HttpResponse getList(HttpServletRequest req,HttpServletResponse rep){String id = req.getSession().getId();return new HttpResponse(id);}
}

Controller源码类

org.springframework.stereotype.Controller

RestController源码类

org.springframework.web.bind.annotation.RestController

两者区别在于

--------------------------------

ok

转载于:https://www.cnblogs.com/gyjx2016/p/5896138.html

【springBoot】springBoot返回json的一个问题相关推荐

  1. SpringBoot 直接返回 Json格式对象(报错:返回对象为空{})

    文章目录 1 需求描述 2 代码展示 3 原因分析 4 解决方案 5 效果展示 6 结束语 1 需求描述 我们现在要干一个什么事情呢,我们要在浏览器输入一个请求地址,然后我们的后端就给我返回一个Use ...

  2. Springboot之返回json数据格式的两种方式-yellowcong

    SpringBoot返回字符串的方式也是有两种,一种是通过@ResponseBody 和@RequestMapping(value = "/request/data", metho ...

  3. springboot如何在接收和返回json时下划线转驼峰以及驼峰转下划线

    因为前端一般会返回带有下划线的数据,而java的命名规范一般是以驼峰的形式,所以这就造成了用javabean来接收或者返回json格式的数据时会有命名方式的冲突,所以我们常常需要对格式进行转换或者是兼 ...

  4. springboot 接口返回数据时 net.sf.json.JSONNull[“empty“]) 异常

    springboot 接口返回数据时 net.sf.json.JSONNull["empty"]) 异常 参考文章: (1)springboot 接口返回数据时 net.sf.js ...

  5. 从零开始学springboot笔记(二)-Spring boot返回json数据(中文无乱码)

    先创建json实体类,如下: public class Demo {private int age; private String address; private String name; priv ...

  6. springboot 返回json字符串格式化问题

    在idea中yml文件中添加以下注解就可以格式化json字符串效果 spring: jackson: serialization: indent-output: true 原返回json格式为: {& ...

  7. SpringBoot | 第一章:第一个SpringBoot应用

    2019独角兽企业重金招聘Python工程师标准>>> SpringBoot | 第一章:第一个SpringBoot应用 springboot简单介绍 概述 随着动态语言的流行(Ru ...

  8. springboot怎么返回404_深度分析:SpringBoot异常捕获与封装处理,看完你学会了吗?...

    简介 日常开发过程中,难免有的程序会因为某些原因抛出异常,而这些异常一般都是利用try ,catch的方式处理异常或者throw,throws的方式抛出异常不管.这种方法对于程序员来说处理也比较麻烦, ...

  9. @configuration注解_超级全面的 SpringBoot 注解介绍,每一个用途都应该清晰

    一.注解(annotations)列表 1.@SpringBootApplication 包含了@ComponentScan.@Configuration和@EnableAutoConfigurati ...

最新文章

  1. 选择PHP,选择自由与开源
  2. SD-WAN — 应用场景
  3. Java 对象和类的一些笔记总结
  4. 数学 —— 巧用进制
  5. figma设计_在Figma中使用隔片移交设计
  6. linux8安装bbr_CentOS 7安装4.9内核开启BBR
  7. easyui layout 收缩的bug
  8. 如何获取具有日期,小时和分钟的ISO 8601格式的当前时刻?
  9. 网管必须熟悉的几个网络DOS命令
  10. iNode客户端安装
  11. 论文页眉设置奇数偶数页不同页眉,奇数页为各章题目,偶数页为论文题目
  12. 数据库开发技术的课程记录
  13. gis环境设置在哪_怎样解决GIS长距离母线筒的位移问题?
  14. C语言中task的用法,c – 在std :: packaged_task中使用成员函数
  15. 弗雷歇距离的原理及python代码实现(动态规划)
  16. 吞吐量(TPS)、QPS、并发数、响应时间(RT)说明
  17. 程控增益放大器电路原理图
  18. 计算机函数说课ppt,《excel公式与函数》说课稿
  19. Xilinx官网大全__PowerPC 架构
  20. Spring源码深度解析(郝佳)-学习-ASM 类字节码解析

热门文章

  1. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?
  2. sony lt26i android 5.1rom,索尼 LT26 Xperia L 5.1.1 ROM刷机包 扁平化 来电归属 农历 新相机 稳定流畅...
  3. resultSet.next() 位置处报错:java.lang.OutOfMemoryError: Java heap space
  4. document.getelementbyid().value与innerHTML使用场景对比,别再搞错了兄嘚
  5. 360云盘直链解析PHP,360云盘分析直链解析
  6. 使用Jasypt加密spring boot应用配置文件的敏感信息
  7. LINUX 邮件服务器qmail 架设
  8. 轻量级linux iso,antiX 17.2 发布,基于Debian的轻量级Linux发行版
  9. python名称空间_python基础:名称空间与作用域
  10. sudo apt-get install lsb-core