finalização dos endpoints
This commit is contained in:
parent
34708bd57e
commit
734b66090a
@ -12,20 +12,19 @@ Accept: application/json
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"isbn": "abc2",
|
||||
"isbn": "abc4",
|
||||
"titulo": "teste",
|
||||
"autor": "teste"
|
||||
}
|
||||
|
||||
### Edita um livro
|
||||
|
||||
PUT {{url}}/livros/9780321741769
|
||||
PUT {{url}}/livros/abc4
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"isbn": "9780321741769",
|
||||
"titulo": "The C# Programming Language",
|
||||
"titulo": "teste4",
|
||||
"autor": "Anders Hejlsberg, Mads Torgensen"
|
||||
}
|
||||
|
||||
@ -36,5 +35,5 @@ Accept: application/json
|
||||
|
||||
### Remove um livro
|
||||
|
||||
DELETE {{url}}/livros/9780321741769
|
||||
DELETE {{url}}/livros/abc4
|
||||
Accept: application/json
|
||||
@ -1,52 +1,44 @@
|
||||
using Biblioteca.Models;
|
||||
using Biblioteca.Repositories;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
app.MapGet("/", () =>
|
||||
{
|
||||
string[] saudacoes = ["Olá!", "こんにちは", "Привет", "Ողջույն"];
|
||||
|
||||
return saudacoes[Random.Shared.Next(saudacoes.Length)];
|
||||
});
|
||||
|
||||
// Obtém uma lista com os livros registrados.
|
||||
app.MapGet("/livros", async () =>
|
||||
{
|
||||
var repo = new LivroRepository();
|
||||
var resultado = await repo.Obter(pagina: 1);
|
||||
var res = await repo.Obter(pagina: 1);
|
||||
|
||||
return resultado;
|
||||
return res;
|
||||
});
|
||||
|
||||
// Cria um novo livro.
|
||||
app.MapPost("/livros", async (Livro livro) =>
|
||||
{
|
||||
var repo = new LivroRepository();
|
||||
var resultado = await repo.Criar(livro);
|
||||
var res = await repo.Criar(livro);
|
||||
|
||||
return resultado;
|
||||
return res;
|
||||
});
|
||||
|
||||
// Edita um livro.
|
||||
app.MapPut("/livros/{isbn}", async (string isbn, Livro livro) =>
|
||||
{
|
||||
var repo = new LivroRepository();
|
||||
var resultado = await repo.Editar(isbn, livro);
|
||||
var res = await repo.Editar(isbn, livro);
|
||||
|
||||
return resultado;
|
||||
return res;
|
||||
});
|
||||
|
||||
// Obtém os dados de um livro individual.
|
||||
app.MapGet("/livros/{isbn}", async (string isbn) =>
|
||||
{
|
||||
var repo = new LivroRepository();
|
||||
var resultado = await repo.Obter(isbn);
|
||||
var res = await repo.Obter(isbn);
|
||||
|
||||
return resultado;
|
||||
return res;
|
||||
});
|
||||
|
||||
// Remove um livro.
|
||||
|
||||
@ -16,7 +16,7 @@ public class LivroRepository
|
||||
|
||||
var take = 30;
|
||||
var offset = take * Math.Max(pagina-1, 0);
|
||||
var lista = new List<Livro>(capacity: take);
|
||||
var lista = new List<Livro>();
|
||||
|
||||
cmd.CommandText = "SELECT Isbn, Titulo, Autor, Genero, Descricao, Foto, Keywords, Ativo, CriadoEm, AtualizadoEm FROM Livro ORDER BY CriadoEm LIMIT @offset,@take";
|
||||
cmd.Parameters.AddWithValue("offset", offset);
|
||||
@ -147,7 +147,6 @@ public class LivroRepository
|
||||
|
||||
var livro = await Obter(isbn);
|
||||
|
||||
livro.Isbn = dados.Isbn?.Trim() ?? "";
|
||||
livro.Titulo = dados.Titulo?.Trim() ?? "";
|
||||
livro.Autor = dados.Autor?.Trim() ?? "";
|
||||
livro.Genero = dados.Genero?.Trim() ?? "";
|
||||
@ -159,10 +158,11 @@ public class LivroRepository
|
||||
cmd.CommandText =
|
||||
@"
|
||||
UPDATE Livro SET
|
||||
Isbn=@isbn, Titulo=@titulo, Autor=@autor, Genero=@genero, Descricao=@descricao, Foto=@foto, Keywords=@keywords, Status=@status, AtualizadoEm=@atualizadoem
|
||||
Titulo=@titulo, Autor=@autor, Genero=@genero, Descricao=@descricao, Foto=@foto, Keywords=@keywords, AtualizadoEm=@atualizadoem
|
||||
WHERE Isbn=@isbn
|
||||
";
|
||||
|
||||
cmd.Parameters.AddWithValue("isbn", livro.Isbn);
|
||||
cmd.Parameters.AddWithValue("isbn", isbn);
|
||||
cmd.Parameters.AddWithValue("titulo", livro.Titulo);
|
||||
cmd.Parameters.AddWithValue("autor", livro.Autor);
|
||||
cmd.Parameters.AddWithValue("genero", livro.Genero);
|
||||
@ -183,7 +183,7 @@ public class LivroRepository
|
||||
|
||||
await conn.OpenAsync();
|
||||
|
||||
cmd.CommandText = "UPDATE Livro SET Ativo=0 WHERE Isbn=@isbn";
|
||||
cmd.CommandText = "UPDATE Livro SET Ativo=false WHERE Isbn=@isbn";
|
||||
cmd.Parameters.AddWithValue("isbn", isbn);
|
||||
|
||||
await cmd.ExecuteNonQueryAsync();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user