【解决前端报错】Bad Request: Required request parameter ‘id‘ for method parameter type Long is not present

后端查询列表接口返回的对象里包含Long id,前端获取到这个id,执行通过Long id删除操作。这时删除操作报错400,大意是没找着Long类型的id.

swagger相关接口截图:
在这里插入图片描述
Long类型的在swagger显示是integer64 , integer是integer32.
在这里插入图片描述
这是前端请求后,出现在我的后端console控制台的报错信息。
前端部分代码如下图所示:
在这里插入图片描述
也许问题出现在接口的参数传递上,接收的参数是urlencode编码格式还是json编码格式?

这时我突然意识到,或许前端获取了一条数据后,在获取这条数据的某个字段值时没有把相应的字段值类型转化为json格式,而作为一个接口而言,只认识 json 格式的入参。这就导致了上面的报错,没有需要的值存在。
比如获取了一条 User 类型的数据,把其中的 Long Id 单独取出来作为入参传给接口,这时需要把Long Id转换成Json格式。得用 json.Stringfy(id)将其转为json的字符串格式传入。

导这个包在这里插入图片描述

前端可以尝试用qs.stringfiyjson.Stringfy() 来重新编码参数。

相关链接1
相关链接2
相关链接3

猜你喜欢

转载自blog.csdn.net/qq_45486709/article/details/123977934