springboot项目中写一个根据id批量删除的接口
时间: 2024-10-20 07:09:26 浏览: 8
在Spring Boot项目中,我们可以使用`@RestController`, `@DeleteMapping`注解以及`@RequestBody`来创建一个接受JSON数组并根据ID批量删除资源的HTTP接口。假设我们有一个名为`User`的实体,对应的Repository可能是`UserRepository`,那么代码会像这样:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
private UserRepository userRepository;
@PostMapping("/users/delete")
public ResponseEntity<?> deleteUserBatch(@RequestBody Long[] ids) {
for (Long id : ids) {
userRepository.deleteById(id);
}
if (ids.length == 0) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} else {
return new ResponseEntity<>("Deleted users with the given IDs", HttpStatus.OK);
}
}
}
```
这个接口接受一个包含多个用户ID的数组,然后遍历每个ID去数据库中删除对应的数据。
阅读全文