Un framework pour la construction d'API REST JSON: API à l'aide de .NET Core et Entity Framework Core. Comprend le soutien aux opérations atomiques.

L'objectif ultime de cette bibliothèque est d'éliminer autant de passe-partout que possible en offrant des fonctionnalités prêtes à l'emploi telles que le tri, le filtrage et la pagination. Il vous suffit de vous concentrer sur la définition des ressources et la mise en œuvre de votre logique commerciale personnalisée. Cette bibliothèque a été conçue autour de l'injection de dépendance, ce qui rend l'extensibilité incroyablement facile.
Ce sont quelques étapes que vous pouvez prendre pour vous aider à comprendre ce qu'est ce projet et comment vous pouvez l'utiliser:
Voir le répertoire des exemples pour les applications d'échantillons à jour. Il existe également une application ToDo List qui comprend une API JSONAPIDOTNETCORE et un client Emberjs.
Voir notre documentation pour une utilisation détaillée.
#nullable enable
[ Resource ]
public class Article : Identifiable < int >
{
[ Attr ]
public string Name { get ; set ; } = null ! ;
} // Program.cs
builder . Services . AddJsonApi < AppDbContext > ( ) ;
// ...
app . UseRouting ( ) ;
app . UseJsonApi ( ) ;
app . MapControllers ( ) ; Le tableau suivant devrait vous aider à choisir la meilleure version, en fonction de votre environnement. Voir aussi notre politique de versioning.
| Jsonapidotnetcore | Statut | .FILET | Noyau de cadre d'entité |
|---|---|---|---|
| 3.x | Écurie | Noyau 2.x | 2.x |
| 4.x | Écurie | Core 3.1 | 3.1, 5 |
| 5 | 5 | ||
| 6 | 5 | ||
| 5.0.0-5.0.2 | Écurie | 6 | 6 |
| 5.0.3-5.4.0 | Écurie | 6 | 6, 7 |
| 7 | 7 | ||
| 5.5+ | Écurie | 6 | 6, 7 |
| 7 | 7 | ||
| 8 | 8, 9 | ||
| 9 | 9 | ||
| maître | Prévisualisation | 8 | 8, 9 |
| 9 | 9 | ||
| openapi | Expérimental | 8 | 8, 9 |
| 9 | 9 |
Vous avez une question, vous avez trouvé un bogue ou vous souhaitez soumettre des modifications de code? Voir nos directives contributives.
Après chaque engagement dans la succursale Master, un nouveau package NuGet pré-libéré est automatiquement publié sur les packages GitHub. Pour l'essayer, suivez les étapes ci-dessous:
Créez un jeton d'accès personnel (classique) avec au moins read:packages Scope.
Ajoutez notre source de package à votre fichier local nuget.config spécifique à l'utilisateur en exécutant:
dotnet nuget add source https://nuget.pkg.github.com/json-api-dotnet/index.json --name github-json-api --username YOUR-GITHUB-USERNAME --password YOUR-PAT-CLASSICDans la commande ci-dessus:
dotnet nuget remove source github-json-api et réessayer avec le commutateur --store-password-in-clear-text ajouté.
Redémarrez votre IDE, ouvrez votre projet et parcourez la liste des packages à partir du flux GitHub-Json-API (assurez-vous que les packages de pré-libération sont inclus).
Pour créer le code à partir de ce référentiel localement, exécutez:
dotnet buildL'exécution de tests localement nécessite l'accès à une base de données PostgreSQL. Si Docker a installé, cela peut être soutenu via:
pwsh run-docker-postgres.ps1Puis pour exécuter les tests:
dotnet testAlternativement, pour construire, exécuter tous les tests, générer une couverture de code et des packages NuGet:
pwsh Build.ps1