众所周知,前段是给后端返回一个json字符串,但当我们以{id:id}传数据的时候一定是只想把id传回去吧,但可惜是打灭的,当在后端用Interge id接受的时候,会提醒我们
JSON parse error: Cannot deserialize instance of `java.lang.Integer` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.Integer` out of START_OBJECT token
at [Source: (PushbackInputStream); line: 1, column: 1]]
用String来接受时显示:
这个错误,我认为是返回的是一个类似表中的某一行的全部数据,虽然其他的全是空的,但是也要用属性来接受。既是不支持反序列化的问题,json数据必须反序列化为一个对象才能取值。不能直接用Interge 这个来接收一个json字符串。所以在这里要用这个id对应的实体类来接受
在log中我们可以清晰的看到这个新建对象只有id这个一个属性有值,然后我们在调用getId()就完美的取缔了id
当然这个方法我感觉是很铸币的,最好还用这个@PathVariable注解好用,但是为了应付作业还是凑活整吧。