aspnet api
1.0.0
最小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 > SettingsGerman_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
麻省理工學院許可證(麻省理工學院)。請參閱許可證文件以獲取更多信息。