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
麻省理工学院许可证(麻省理工学院)。请参阅许可证文件以获取更多信息。