2017-04-19 699 views
0

使用Springboot建设项目。当您不使用Springboot构建项目时,可以使用配置来解决问题,但现在我不知道如何配置它。Springboot返回JSON,IE浏览器尝试下载JSON作为文件

@RestController 
public class RestShowNameController { 
    @RequestMapping("/myself") 
    public ModelAndView index() { 
     return new ModelAndView("index"); 
    } 

    @RequestMapping("/object") 
    public User object() { 
     User user = new User(); 
     user.setName("绿秋"); 
     user.setComment("系统管理员用户"); 
     return user; 
    } 
} 
+0

这段代码有一些错误?或者你想学习配置Springboot? – Teocci

+0

是的,我没有配置 – user7886944

+1

当你从一个方法返回'ModelAndView'时,你不能使用'@ RestController',那么你需要'@ Controller'。当改变这个时,你需要在你的'object()'方法中添加'@ ResponseBody' –

回答

0

这是IE的属性来提示打开JSON文件。如果您将在其他浏览器(如chrome)中尝试此操作,它将直接在屏幕上显示结果。

如果你想改变的方法也显示在屏幕上的IE浏览器。一种方式可以是改变返回字符串的方法中,作为 你正在返回一个对象作为响应,并默认其得到转化为JSON:

@RestController 
public class RestShowNameController { 
    @RequestMapping("/myself") 
    public ModelAndView index() { 
     return new ModelAndView("index"); 
    } 

    @RequestMapping("/object") 
    @ResponseBody 
    public String object() { 
     User user = new User(); 
     user.setName("绿秋"); 
     user.setComment("系统管理员用户"); 
     return user.toString(); 
    } 
} 

在用户类覆盖toString()方法和格式化结果。

@Override 
public String toString() { 
    return "User [name =" + name + ", comment =" + comment + "]"; 
}