【发布时间】:2020-01-13 20:12:04
【问题描述】:
下面是我的控制器方法定义
@Autowired
private HttpServletRequest request;
@PostMapping(path = "/abc")
public String createAbc(@RequestBody HttpServletRequest request)
throws IOException {
logger.info("Request body: "+request.getInputStream());
return "abc";
}
我要做的就是打印内容以请求正文。 但是当我发出 POST 请求时,我看到以下错误:
类型定义错误:[简单类型,类 javax.servlet.http.HttpServletRequest];嵌套异常是 com.fasterxml.jackson.databind.exc.InvalidDefinitionException:不能 构造
javax.servlet.http.HttpServletRequest的实例(没有 创建者,如默认构造,存在):抽象类型要么需要 映射到具体类型,具有自定义反序列化器,或包含 [Source: (PushbackInputStream); 处的其他类型信息\n线: 1、列:2]",
我使用的是 Spring boot 2.x 版本。知道我的代码有什么问题吗?
【问题讨论】:
-
您已经有
autowired的请求。你从哪里得到@RequestBody HttpServletRequest request?
标签: java spring rest spring-boot spring-mvc