public List<Book>getBooksById(@PathVariable Integer id)查找失败的处理例子
时间: 2024-03-17 13:39:39 浏览: 174
如果在调用getBooksById方法时,传递的id参数没有找到任何匹配的书籍,那么该方法应该如何处理呢?以下是一个处理查找失败情况的例子:
```
@RestController
public class BookController {
@Autowired
private BookRepository bookRepository;
@GetMapping("/books/{id}")
public ResponseEntity<List<Book>> getBooksById(@PathVariable Integer id) {
List<Book> books = bookRepository.findByCategoryId(id);
if (books.isEmpty()) {
return ResponseEntity.notFound().build();
} else {
return ResponseEntity.ok(books);
}
}
}
```
在这个例子中,我们使用了ResponseEntity类来返回响应。如果找不到任何匹配的书籍,我们将返回一个404(Not Found)响应,否则我们将返回一个带有响应体的200(OK)响应。我们还在方法签名中指定了泛型参数,以便在响应体中使用List<Book>类型。这个方法还使用了if语句来检查books列表是否为空。如果是空的,我们将返回一个404响应,否则我们将返回一个包含所有符合条件的书籍的列表的200响应。
阅读全文