删除不适用于 spring 的映射方法

Delete mapping method not working with spring

我正在尝试使用 Spring 创建一个删除映射方法,但是我的代码目前无法正常工作。我对 spring 很陌生,所以我不确定我是否完全正确地进行了此操作,但下面是我的代码:

@CrossOrigin(origins = "http://localhost:4200")
@DeleteMapping(value = {"/delete/{imageName"})
public String deleteImage(@PathVariable("imageName") String imageName) throws IOException{

    userRepository.deleteById();
    return "it worked";

}

userRepository 是一个 JPArepository 实例。我可以使用 deleteByID 方法,但它需要一个整数,我想传入一个字符串作为图像名称。我该怎么做呢?下面是我的数据库,名称列是将在此 api.

中使用的列

pic of my db

我想像 http://localhost:8080/delete/background 这样对邮递员进行删除调用,并删除数据库中的 'background' 图片

将您的 deleteImage 方法写成

@CrossOrigin(origins = "http://localhost:4200")
@DeleteMapping(value = {"/{imageName"})
public String deleteImage(@PathVariable("imageName") String imageName) throws IOException{

    userRepository.deleteByName();
    return "it worked";

}

然后,在您的存储库界面中添加一个方法

deleteByName(String name)

因为您的数据库列称为“名称”,我希望您的实体字段也是“名称”。 Spring会自动映射。