summaryrefslogtreecommitdiff
path: root/Controllers/BooksController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Controllers/BooksController.cs')
-rw-r--r--Controllers/BooksController.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/Controllers/BooksController.cs b/Controllers/BooksController.cs
index ad336f0..f46f2f0 100644
--- a/Controllers/BooksController.cs
+++ b/Controllers/BooksController.cs
@@ -12,11 +12,30 @@ namespace LibraryAPI.Controllers {
_context = context;
}
+ /* Listar todos los libros.
+ o, regresar el que tenga un título específico */
[HttpGet]
public async Task<ActionResult<IEnumerable<Book>>> GetBooks() {
return await _context.Books.ToListAsync();
}
+ // Obtener el primer libro de la tabla.
+ [HttpGet("first")]
+ public async Task<ActionResult<Book>> GetFirst() {
+ return await _context.Books.FirstOrDefaultAsync();
+ }
+
+ // Obtener un libro por isbn.
+ [HttpGet("{isbn}")]
+ public async Task<ActionResult<Book>> GetBook([FromRoute] string isbn) {
+ var book = await _context.Books.FirstOrDefaultAsync(x => x.ISBN == isbn);
+
+ if(book == null)
+ return NotFound();
+
+ return book;
+ }
+
[HttpGet("{id}")]
public async Task<ActionResult<Book>> GetBook(long id) {
if (_context.Books == null)