Spring MVC Rest 返回值为空

£可爱£侵袭症+ 提交于 2020-04-06 22:06:46

    问题描述:

    采用Spring Restful ,可以通过浏览器的地址栏URL正确访问后台且不报错误,但是前台总是获取不到数据,前台也是收到了后台的响应,就是没有数据。

    具体如下:

     采用 Spring Restful 对不同的格式,可以发送不同格式化的数据,比如Json、XML、HTML.....

    对于配置文件如下:

    参考 Spring MVC Rest 学习 一:http://my.oschina.net/heweipo/blog/337581

    参考Spring MVC Rest 学习 二:http://my.oschina.net/heweipo/blog/340040

    对于Controller的接口,一开始如下声明:

    @RequestMapping("/getMessage")
    public String getMessage(HttpServletRequest request , HttpServletResponse response , ModelMap model){
        model.put("message",new Message());    
        return null;
    }

    在浏览器中请求,http:ip:port/server/uri/getMessage.json

    结果是:这个方法可以访问到,因为我用断点试过了,但是返回值却是空的,本来理想的结果应该是返回一个Json格式的Message内容,然而却差强人意。具体原因不是很清楚,不过如下修改之后问题得到解决:

    @RequestMapping("/getMessage")
    public String getMessage(HttpServletRequest request, ModelMap model){
        model.put("message",new Message());    
        return null;
    }

    总结:

    前后接口对比,发现就是多了一个 HttpServletResponse response 形参,结果却差强人意,不过问题总算解决了。 

另外我也没有用@ResponsBody测试过,理论上来说应该也是可以的。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!