O MagicoLizer é uma biblioteca pequena, super simples e leve que permite criar um aplicativo Web REST API ASP.NET CORE totalmente em destaque com código de rotina mínima.
Na maioria dos casos, tudo o que você precisa escrever são classes, filtros e validadores do DTO/Modelo/Entidade. É isso. Seu aplicativo da Web suportará automaticamente a filtragem complexa (incluindo várias propriedades de objetos aninhados, intervalos, etc.), classificação complexa (múltiplas propriedades de objetos aninhados com direções diferentes), paginação, inclusões complexas (propriedades de objetos aninhados), solicitações flexíveis e poderosas nos níveis de DTO e modelo (usando fluentvalidação) e autorização baseada em políticas para obter, a patch, pós, pós-patch, pós-patch, pós-patch, denunciamento e fluentvalidação) e autorização baseada em políticas para obtenha
Um ponto importante: enquanto o Magicizer lida com o levantamento pesado, você ainda pode substituir qualquer implementação padrão por sua própria quando necessário. Depois de criar uma implementação de serviço personalizada para qualquer modelo, ele substituirá automaticamente o padrão. O mesmo se aplica aos controladores. Não importa onde você coloca suas classes, validadores, serviços ou controladores de modelo/modelo/entidade - eles serão descobertos e resolvidos automaticamente. Isso torna incrivelmente fácil reutilizar o código e criar software desacoplado.
Execute o aplicativo da web e tente as seguintes solicitações (você pode usar um banco de dados de teste deste projeto).
GET: /v1/categories GET: /v1/categories?name.contains=izza GET: /v1/categories?products.any.photos.any.filename.contains=.jpg&fields=products.photos GET: /v1/categories/1 GET: /v1/categories/5?fields=products.photos GET: /v1/products GET: /v1/products?id.in=1&id.in=2 GET: /v1/products?category.id=5&sorting=+name&offset=0&limit=5 GET: /v1/products?category.id=5&sorting=-name&offset=0&limit=5 GET: /v1/products?category.name.equals=Pizza&name.contains=ana&fields=category POST: /v1/categories { "name" : " Sushi " } PUT: /v1/categories { "id" : 1 , "name" : " Not sushi " } PATCH: /v1/categories/1 [{ "op" : " replace " , "path" : " name " , "value" : " Sushi again o_O " }] DELETE: /v1/categories/1 Fontes no github: https://github.com/magicizer/Magicalizer
Autor: http://sikorsky.pro/