Eine minimale ASP.NET -Kern -API
.env -Konfigurationsloader (für sensible Daten)Testen
Todo
Führen Sie den folgenden Befehl aus, um ein neues Projekt zu erstellen:
git clone https://github.com/odan/aspnet-api.git --depth 1 {my-app-name}
cd {my-app-name}
Ersetzen Sie {my-app-name} durch den gewünschten Namen für Ihr Projekt.
Erstellen Sie eine neue MySQL / Mariadb -Datenbank.
CREATE DATABASE ` my_api ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Ändern Sie den Datenbanknamen entsprechend.
Erstellen Sie eine .env -Datei im MyApi -Verzeichnis:
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_apiÄndern Sie die Datenbank und die Anmeldeinformationen entsprechend.
Importieren Sie die Datei schema.sql manuell oder führen Sie den folgenden Befehl aus:
npm run migration:migrate
Hinweis: Dieser Befehl erfordert NPM.
Um die Anwendung im Debug -Modus zu erstellen und auszuführen, rennen Sie:
dotnet run
oder
dotnet watch run
Ausführen eines Release -Builds:
dotnet run --configuration Release
Erstellen Sie ein Projekt und seine Abhängigkeiten:
dotnet build
Erstellen eines Projekts und seiner Abhängigkeiten mithilfe der Release -Konfiguration:
dotnet build --configuration Release
Reinigen Sie die Verzeichnisse des Behälters und der OBJ:
dotnet clean
Sauber und bauen:
dotnet rebuild
Veröffentlichen:
dotnet publish
Codestile
Installieren Sie das dotnet-format -Paket:
dotnet tool install --global dotnet-format
Checking Code -Stile:
dotnet format --verify-no-changes
Behebung von Codestilen:
dotnet format -v d
Deklarieren Sie die Schnittstelle IStringLocalizer<T> , wo Sie Nachrichten übersetzen müssen.
Beispiel
public class Example
{
private readonly IStringLocalizer < Example > _localizer ;
public Example ( IStringLocalizer < Example > localizer )
{
_localizer = localizer ;
}
// ...
}Die Standard- und Quellsprache ist Englisch.
Übersetzen einer einfachen Nachricht:
string text = _localizer . GetString ( "Hello, World!" ) ;
// Output: Hallo, Welt!Übersetzen einer Nachricht mit Platzhaltern (n):
string text2 = _localizer . GetString ( "The user {0} logged in" , "sally" ) ;
// Output: Der Benutzer sally hat sich eingeloggtResources .de-DE.po , übereinstimmen.Translations > SettingsGerman_localizer.GetString als Quellenschlüsselwort hinzu.Update from source um für neue Übersetzungen zu analysieren.de-DE.mo , zu generieren.Sie können die Sprache während der Anfrage ändern, indem Sie die aktuelle Kultur wie folgt festlegen:
using using System . Globalization ;
// ...
var culture = new CultureInfo ( "de-DE" ) ;
Thread . CurrentThread . CurrentCulture = culture ;
Thread . CurrentThread . CurrentUICulture = culture ; Die LocalizationMiddleware erkennt die Benutzersprache mithilfe des HTTP-Anforderungs- Accept-Language Headerwerts. Wenn dieser Header einen gültigen Code enthält, wird die aktuelle Kultur automatisch umgeschaltet.
Erstellen Sie eine lokale Testdatenbank für Xunit.
CREATE DATABASE ` my_api_test ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Erstellen Sie eine .env -Datei im Verzeichnis MyApi.Tests :
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_api_testÄndern Sie die Datenbank und die Anmeldeinformationen entsprechend.
Um die Testsuite zu starten, laufen Sie:
dotnet test
Die MIT -Lizenz (MIT). Weitere Informationen finden Sie unter Lizenzdatei.