0.我通过url 请求接口,这里我没有传递参数,但是不影响我的查询.
1.我的java代码为:
疑问:我在java中返回的时候只有 "state" 和 "data" 两个字段,但是默认给我多返回了一个对象,就是我java接受的那个对象
怀疑:是 ModelAndView 自身默认源码的问题,我去google了一下,但是没有找到我想要的结果
想要效果:去掉默认返回的对象,麻烦大家了.
0.我通过url 请求接口,这里我没有传递参数,但是不影响我的查询.
1.我的java代码为:
疑问:我在java中返回的时候只有 "state" 和 "data" 两个字段,但是默认给我多返回了一个对象,就是我java接受的那个对象
怀疑:是 ModelAndView 自身默认源码的问题,我去google了一下,但是没有找到我想要的结果
想要效果:去掉默认返回的对象,麻烦大家了.
modelAndView不会加上你的这个参数的, 问题应该出在你的这个默认"querList"view上, 如果想直接返回你想要的效果, 不如返回类型改成map, 加上注解@ResponseBody, 这样就好多了
我是忘记加@RequestBody也出现问题,现在解决了,解决如下:
原来的代码:
@RequestMapping("login")
public ModelAndView login( UserCriterial userCriterial) {
ModelAndView mv = new ModelAndView();
boolean success = userSerivce.login(userCriterial);
mv.addObject("loginResult", success);
mv.setView(new MappingJackson2JsonView());
return mv;
}
返回的是:
{"userCriterial":{"userName":null,"pwd":null},"loginResult":false}
修改后的代码:
@RequestMapping("login")
public ModelAndView login(@RequestBody UserCriterial userCriterial) {
ModelAndView mv = new ModelAndView();
boolean success = userSerivce.login(userCriterial);
mv.addObject("loginResult", success);
mv.setView(new MappingJackson2JsonView());
return mv;
}
返回的是:
{"loginResult":false}
注:测试返回值不可直接在url打访问后台的url:xxx.do,而应该把对象传过去,否则tomcat会报400错误。
3 回答2.7k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
我没记错的话 加个@responsebody;而且要是返回自定义的对象用gson转成的json串返回,是不需要框架自带的modelandview对象