Magicalizer est une petite bibliothèque super simple et légère qui vous permet de créer une application Web REST ASP.NET Core entièrement en vedette avec un code de routine minimal.
Dans la plupart des cas, tout ce dont vous avez besoin pour écrire sont des cours de DTO / modèle / entités, des filtres et des validateurs pour eux. C'est ça. Votre application Web prendra automatiquement en charge le filtrage complexe (y compris plusieurs propriétés d'objets imbriquées, des plages, etc.), un tri complexe (plusieurs propriétés d'objet imbriquées avec des directions différentes), une pagination, des inclusions complexes (propriétés d'objets imbriquées), une validation flexible et puissante à la fois aux DTO et aux niveaux de modèle (en utilisant la clôture de la clôture), et les demandes de patch basées sur les stratégies).
Un point important: Bien que Magicalizer gère le levage de lourds, vous pouvez toujours remplacer toute implémentation par défaut par la vôtre en cas de besoin. Une fois que vous avez créé une implémentation de service personnalisée pour n'importe quel modèle, il remplacera automatiquement celui par défaut. Il en va de même pour les contrôleurs. Peu importe où vous placez vos cours de DTO / modèle / entités, validateurs, services ou contrôleurs - ils seront découverts et résolus automatiquement. Cela rend incroyablement facile de réutiliser le code et de créer des logiciels découplés.
Exécutez l'application Web et essayez les demandes suivantes (vous pouvez utiliser une base de données de test à partir de ce projet).
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 Sources sur GitHub: https://github.com/magicalizer/magicalizer
Auteur: http://sikorsky.pro/