需要获取要在数据库上删除的ID,但是我无法通过这种方式获取ID参数
@RequestMapping(value = {"/delete/search/","/delete/search"}, method = RequestMethod.DELETE)
@ResponseBody
public Integer deleteUser(@RequestBody Integer id_search) {
return id_search;
}
我收到此错误消息
"message": "JSON parse error: Can not deserialize instance of java.lang.Integer out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.Integer out of START_OBJECT token\n at [Source: java.io.PushbackInputStream@1b77938; line: 1, column
这句话是错的
@RequestBody Integer id_search
这意味着Spring期望一个类型为Integer
class 的主体。但是您传递的内容与Integer类不匹配。
您有很多解决方案。
删除@RequestBody
并声明为
public Integer deleteUser(Integer id_search) {...}
为此,您需要将此端点称为
http://localhost:8080/seviceRS/delete/search?id_search=2
您可以PathVariable
像这样通过
http://localhost:8080/seviceRS/delete/search/2
为此,请像这样更改您的控制器方法
@RequestMapping(value =
{"/delete/search/{id_search}"}, method =
RequestMethod.DELETE)
@ResponseBody
public Integer deleteUser(Integer id_search) {...}
如果要作为正文发送,则应创建一个与要发送的json匹配的类。
例如。创建一个像
class Demo {
private int id_search;
//Getters & Setters
}
通过这种方法,您的控制器方法看起来像
@RequestMapping(value = {"/delete/search/}, method =
RequestMethod.DELETE)
@ResponseBody
public Integer deleteUser(Demo demo) {
demo.getId_Search();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句