diff options
Diffstat (limited to 'Controllers/BooksController.cs')
-rw-r--r-- | Controllers/BooksController.cs | 19 |
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) |