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