当前位置:   article > 正文

总结常见报错信息

总结常见报错信息

一、报错内容
Circular view path [index]: would dispatch back to the current handler URL [/login/index] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

 解决方法:把@Controller改成@RestController

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
在@Controller注解中,返回的是字符串或者是字符串匹配的模板名称,即直接渲染视图,与html页面配合使用的,java后端的代码要结合html的情况进行渲染,使用model对象(或者modelandview)的数据将填充user视图中的相关属性,然后展示到浏览器;而在@RestController中,返回的应该是一个对象,即return一个user对象,这时,在没有页面的情况下,也能看到返回的是一个user对象对应的json字符串。

二、报错内容

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: No primary or default constructor found for interface java.util.List] with root cause

解决方法:这是传入List集合,传入参数出错的问题,可以通过正确的注解传参。

方式一:直接在路径上传入参数

  1. /**
  2. * 批量删除用户
  3. * http://localhost:8080/springboot_mybatis/deleteUsers?ids=8&ids=9
  4. * @param ids
  5. */
  6. @DeleteMapping("/deleteUsers")
  7. public void deleteUsers(@RequestParam List<Long> ids) {
  8. userService.removeByIds(ids);
  9. }

方式二:在Postman传入Json数组形式

  1. /**
  2. * 批量删除
  3. * @param ids
  4. */
  5. @DeleteMapping("/deleteOrders")
  6. //集合也是一个可变数组
  7. public void deleteOrders(@RequestBody List<Long> ids) {
  8. orderService.removeByIds(ids);
  9. }

 三、报错内容

Requierd Integer parameter 'xxx' is not present

遇到请求400 bad request,大概了解到是前端传递参数有问题。
出现了 Status Code:Http 400 Bad Request 错误的一种原因就是:参数匹配。
包括以下两方面:

1、 请求时没有传递必须的参数;
2、 传递的参数类型不匹配,比如id需为 int型,若传到后台的是string型则也会出现类似的错误。

情形一:若前端传入Json格式,后端使用

@RequestBody Order order

进行接收。

情形二:若前端传入正常表单数据,后端使用

@RequestParam Long id

进行接收。

情形三: 若参数类型不是json格式,也不是使用表单类型提交,参数需要跟到请求url后面,则后台使用@PathVariable进行获取参数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/1000831
推荐阅读
相关标签
  

闽ICP备14008679号