app.MapPut("/author/{authorId:int:min(1)}/books/{count:int:min(1)}",
(int authorId, int count) => $"Author with Id {authorId} has written {count} books.");
Exemplo de uma restrição de rota em ação
Por fim, vamos examinar como podemos especificar restrições de rota ao passar objetos e tipos de dados primitivos (char, int, etc.) como parâmetros. Considere o seguinte endpoint HTTP Post, que adiciona um novo autor e o número de livros de autoria a um banco de dados.
app.MapPost("/authors/{count:int:min(1)}", (Author author, int count) =>
Results.Ok($"1 new author record of an author who has written {count} " +
$"books has been added to the database...")
);
Vamos invocar esse endpoint usando o Postman. Enviaremos os seguintes dados JSON para nosso novo autor no corpo da solicitação.
{
"authorId": "1",
"firstName": "Joydip",
"lastName": "Kanjilal",
"address": "Hyderabad, India",
"email": "[email protected]",
"phone": "1234567890"
}
Nossa restrição de rota exige que também especifique a contagem de livros escritos pelo autor no URL. Além disso, exige que a contagem seja um valor inteiro mínimo de 1. A Figura 1 mostra a saída no Postman quando passarmos uma contagem de 5.
