From 766d9635dc09886707213cdbafa8a783a143ce84 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Tue, 20 Sep 2022 20:21:39 -0500 Subject: Añadidas más rutas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/AuthorsController.cs | 14 +++++++++++++- Controllers/BooksController.cs | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) (limited to 'Controllers') diff --git a/Controllers/AuthorsController.cs b/Controllers/AuthorsController.cs index 845708b..647a7e5 100644 --- a/Controllers/AuthorsController.cs +++ b/Controllers/AuthorsController.cs @@ -13,7 +13,7 @@ namespace LibraryAPI.Controllers { } [HttpGet] - public async Task>> getAuthors() { + public async Task>> GetAuthors() { if(_context.Authors == null) { return NotFound(); } @@ -34,6 +34,18 @@ namespace LibraryAPI.Controllers { return author; } + // Obtener los libros de un autor. + [HttpGet("{id}/books")] + public async Task>> GetAuthorBooks(long id) { + return await _context.Books.Where(x => x.AuthorId == id).ToListAsync(); + } + + // Obtener primer objeto de la tabla. + [HttpGet("first")] + public async Task> GetFirst() { + return await _context.Authors.FirstOrDefaultAsync(); + } + [HttpPut("{id}")] public async Task PutAuthor(long id, Author author) { if(id != author.Id) 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>> GetBooks() { return await _context.Books.ToListAsync(); } + // Obtener el primer libro de la tabla. + [HttpGet("first")] + public async Task> GetFirst() { + return await _context.Books.FirstOrDefaultAsync(); + } + + // Obtener un libro por isbn. + [HttpGet("{isbn}")] + public async Task> 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> GetBook(long id) { if (_context.Books == null) -- cgit v1.2.3