博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【springBoot】springBoot返回json的一个问题
阅读量:5134 次
发布时间:2019-06-13

本文共 1539 字,大约阅读时间需要 5 分钟。

 

首先看下面的代码

@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

你可能感兴趣的文章
cuda基础
查看>>
virutalenv一次行安装多个requirements里的文件
查看>>
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>
Android Bitmap 和 Canvas详解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
入坑的开始~O(∩_∩)O~
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>