当前位置: 首页 > 面试题库 >

Spring Rest POST Json RequestBody内容类型不支持

戎元忠
2023-03-14
问题内容

当我尝试使用post方法发布新对象时。RequestBody无法识别contentType。已经配置了Spring,并且POST可以与其他对象一起使用,但不能与特定对象一起使用。

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported

如果我尝试相同的请求,只需更改requestbody对象。有用。


问题答案:

我找到了解决方案。这是因为我有两个名字相同但类型不同的二传手。

我的班级有id属性int,在àHibernitify我的对象时,我将其替换为Integer。

但是很显然,我忘记删除二传手了,我有:

/**
 * @param id
 *            the id to set
 */
public void setId(int id) {
    this.id = id;
}

/**
 * @param id
 *            the id to set
 */
public void setId(Integer id) {
    this.id = id;
}

当我删除此二传手时,其余请求工作效果很好。

引发抛出编组错误或反映类错误。异常HttpMediaTypeNotSupportedException接缝在这里真的很奇怪。

我希望这个stackoverflow可以对其他人有所帮助。

SIDE NOTE

你可以在Spring服务器控制台中检查以下错误消息:

无法评估类型[简单类型,类your.package.ClassName]的Jackson反序列化:com.fasterxml.jackson.databind.JsonMappingException:属性“ propertyname”的setter定义冲突

然后,你可以确定要解决上述问题。



 类似资料: