逻辑删除,1为存在,0为删除的接口
时间: 2024-02-11 19:06:38 浏览: 16
在实现逻辑删除的接口时,可以在数据库中增加一个字段来标记数据是否被删除,一般命名为`is_deleted`或`deleted`。该字段的值为0表示数据存在,为1表示数据已被删除。
以下是一个示例的逻辑删除接口实现,假设有一个名为`User`的实体类,其中包含了`id`和`isDeleted`两个字段:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
User user = userService.getUserById(id);
if (user == null) {
return ResponseEntity.notFound().build();
}
user.setIsDeleted(1); // 标记为已删除
userService.saveUser(user);
return ResponseEntity.noContent().build();
}
@GetMapping
public List<User> getUsers() {
return userService.getUsers();
}
}
```
在上面的代码中,我们使用了`@DeleteMapping`注解来标识这个方法处理HTTP DELETE请求,其中`{id}`是一个路径参数,表示要删除的用户的ID。在方法内部,我们首先通过`userService`获取到要删除的用户对象。如果该用户不存在,我们返回一个404 Not Found响应。否则,我们将该用户的`isDeleted`字段设置为1,表示已删除,并保存到数据库中。最后,我们返回一个204 No Content响应,表示删除成功。
另外,我们还定义了一个`getUsers`方法,用于获取所有用户的信息,这个方法并没有过滤已经被标记为已删除的用户,因此需要在调用方进行过滤。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)