Uma API Core ASP.NET mínima
.env 12 fatores (para dados confidenciais)Teste
Pendência
Execute o seguinte comando para criar um novo projeto:
git clone https://github.com/odan/aspnet-api.git --depth 1 {my-app-name}
cd {my-app-name}
Substitua {my-app-name} pelo nome desejado para o seu projeto.
Crie um novo banco de dados MYSQL / MARIADB.
CREATE DATABASE ` my_api ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Modifique o nome do banco de dados de acordo.
Crie um arquivo .env no diretório MyApi :
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_apiModifique o banco de dados e as credenciais de acordo.
Importe o arquivo schema.sql manualmente ou execute o seguinte comando:
npm run migration:migrate
Nota: Este comando requer npm.
Para construir e executar o aplicativo no modo de depuração, execute:
dotnet run
ou
dotnet watch run
Executando uma construção de lançamento:
dotnet run --configuration Release
Construa um projeto e suas dependências:
dotnet build
Construindo um projeto e suas dependências usando a configuração de liberação:
dotnet build --configuration Release
Limpando os diretórios da lixeira e do OBJ:
dotnet clean
Limpe e construir:
dotnet rebuild
Publicar:
dotnet publish
Estilos de código
Instale o pacote dotnet-format :
dotnet tool install --global dotnet-format
Verificando os estilos de código:
dotnet format --verify-no-changes
Corrigindo estilos de código:
dotnet format -v d
Declare a interface IStringLocalizer<T> onde você precisa traduzir mensagens.
Exemplo
public class Example
{
private readonly IStringLocalizer < Example > _localizer ;
public Example ( IStringLocalizer < Example > localizer )
{
_localizer = localizer ;
}
// ...
}O idioma padrão e de origem é o inglês.
Traduzindo uma mensagem simples:
string text = _localizer . GetString ( "Hello, World!" ) ;
// Output: Hallo, Welt!Traduzindo uma mensagem com o (s) espaço local (s):
string text2 = _localizer . GetString ( "The user {0} logged in" , "sally" ) ;
// Output: Der Benutzer sally hat sich eingeloggtResources do projeto.de-DE.po .Translations do menu> SettingsGerman_localizer.GetString como fonte de palavra -chave.Update from source para analisar novas traduções.de-DE.mo .Você pode alterar o idioma durante a solicitação, definindo o CurrentCulture da seguinte maneira:
using using System . Globalization ;
// ...
var culture = new CultureInfo ( "de-DE" ) ;
Thread . CurrentThread . CurrentCulture = culture ;
Thread . CurrentThread . CurrentUICulture = culture ; O LocalizationMiddleware detecta o idioma do usuário usando a solicitação HTTP Accept-Language . Se este cabeçalho contiver um código válido, o CurrentCulture será alterado automaticamente.
Crie um banco de dados de teste local para Xunit.
CREATE DATABASE ` my_api_test ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Crie um arquivo .env no diretório MyApi.Tests :
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_api_testModifique o banco de dados e as credenciais de acordo.
Para iniciar a suíte de teste, execute:
dotnet test
A licença do MIT (MIT). Consulte o arquivo de licença para obter mais informações.