最小限のASP.NETコアAPI
.env構成ローダー(機密データ用)テスト
トト
次のコマンドを実行して、新しいプロジェクトを作成します。
git clone https://github.com/odan/aspnet-api.git --depth 1 {my-app-name}
cd {my-app-name}
{my-app-name}プロジェクトの目的の名前に置き換えます。
新しいMySQL / MariadBデータベースを作成します。
CREATE DATABASE ` my_api ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; それに応じてデータベース名を変更します。
MyApiディレクトリに.envファイルを作成します。
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_apiそれに応じて、データベースと資格情報を変更します。
schema.sqlファイルを手動でインポートするか、次のコマンドを実行します。
npm run migration:migrate
注:このコマンドにはnpmが必要です。
デバッグモードでアプリケーションを構築して実行するには、実行します。
dotnet run
または
dotnet watch run
リリースビルドの実行:
dotnet run --configuration Release
プロジェクトとその依存関係を構築します。
dotnet build
リリース構成を使用して、プロジェクトとその依存関係を構築します。
dotnet build --configuration Release
ビンとOBJディレクトリのクリーニング:
dotnet clean
クリーンとビルド:
dotnet rebuild
公開:
dotnet publish
コードスタイル
dotnet-formatパッケージをインストールします。
dotnet tool install --global dotnet-format
コードスタイルのチェック:
dotnet format --verify-no-changes
コードスタイルの修正:
dotnet format -v d
メッセージを翻訳する必要がある場合、 IStringLocalizer<T>インターフェイスを宣言します。
例
public class Example
{
private readonly IStringLocalizer < Example > _localizer ;
public Example ( IStringLocalizer < Example > localizer )
{
_localizer = localizer ;
}
// ...
}デフォルトとソースの言語は英語です。
簡単なメッセージの翻訳:
string text = _localizer . GetString ( "Hello, World!" ) ;
// Output: Hallo, Welt!プレースホルダーでメッセージを翻訳する:
string text2 = _localizer . GetString ( "The user {0} logged in" , "sally" ) ;
// Output: Der Benutzer sally hat sich eingeloggtResourcesディレクトリに新しいPO翻訳ファイルを作成します。de-DE.po文化名と同じでなければなりません。Translations > Settings開きますGerman_localizer.GetStringを追加します。Update from sourceをクリックして、新しい翻訳を解析します。de-DE.moを生成します。現在のカルチャーを次のように設定して、リクエスト中に言語を変更できます。
using using System . Globalization ;
// ...
var culture = new CultureInfo ( "de-DE" ) ;
Thread . CurrentThread . CurrentCulture = culture ;
Thread . CurrentThread . CurrentUICulture = culture ; LocalizationMiddleware 、HTTPリクエストAccept-Languageヘッダー値を使用してユーザー言語を検出します。このヘッダーに有効なコードが含まれている場合、現在のカルチャーは自動的に切り替えられます。
Xunitのローカルテストデータベースを作成します。
CREATE DATABASE ` my_api_test ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; MyApi.Testsディレクトリに.envファイルを作成します。
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_api_testそれに応じて、データベースと資格情報を変更します。
テストスイートを開始するには、実行してください。
dotnet test
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。