Una API Core ASP.NET mínima
.env de 12 factores (para datos confidenciales)Pruebas
Hacer
Ejecute el siguiente comando para crear un nuevo proyecto:
git clone https://github.com/odan/aspnet-api.git --depth 1 {my-app-name}
cd {my-app-name}
Reemplace {my-app-name} con el nombre deseado para su proyecto.
Cree una nueva base de datos MySQL / Mariadb.
CREATE DATABASE ` my_api ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Modifique el nombre de la base de datos en consecuencia.
Cree un archivo .env en el directorio MyApi :
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_apiModifique la base de datos y las credenciales en consecuencia.
Importe el archivo schema.sql manualmente o ejecute el siguiente comando:
npm run migration:migrate
Nota: Este comando requiere NPM.
Para construir y ejecutar la aplicación en modo de depuración, ejecute:
dotnet run
o
dotnet watch run
Ejecutando una versión de lanzamiento:
dotnet run --configuration Release
Construir un proyecto y sus dependencias:
dotnet build
Creación de un proyecto y sus dependencias utilizando la configuración de lanzamiento:
dotnet build --configuration Release
Limpiar los directorios de Bin y OBJ:
dotnet clean
Limpiar y construir:
dotnet rebuild
Publicar:
dotnet publish
Estilos de código
Instale el paquete dotnet-format :
dotnet tool install --global dotnet-format
Estilos de código de control:
dotnet format --verify-no-changes
Estilos de código de fijación:
dotnet format -v d
Declare la interfaz IStringLocalizer<T> donde necesita traducir mensajes.
Ejemplo
public class Example
{
private readonly IStringLocalizer < Example > _localizer ;
public Example ( IStringLocalizer < Example > localizer )
{
_localizer = localizer ;
}
// ...
}El idioma predeterminado y de origen es el inglés.
Traducir un mensaje simple:
string text = _localizer . GetString ( "Hello, World!" ) ;
// Output: Hallo, Welt!Traducir un mensaje con marcador de posición:
string text2 = _localizer . GetString ( "The user {0} logged in" , "sally" ) ;
// Output: Der Benutzer sally hat sich eingeloggtResources del proyecto.de-DE.po .Translations del menú> SettingsGerman_localizer.GetString como palabra clave de fuentes.Update from source para analizar nuevas traducciones.de-DE.mo .Puede cambiar el idioma durante la solicitud estableciendo la cultura actual de la siguiente manera:
using using System . Globalization ;
// ...
var culture = new CultureInfo ( "de-DE" ) ;
Thread . CurrentThread . CurrentCulture = culture ;
Thread . CurrentThread . CurrentUICulture = culture ; La LocalizationMiddleware detecta el idioma de usuario utilizando el valor del encabezado del Accept-Language de la solicitud HTTP. Si este encabezado contiene un código válido, CurrentCulture se cambiará automáticamente.
Cree una base de datos de prueba local para XUnit.
CREATE DATABASE ` my_api_test ` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Cree un archivo .env en el directorio MyApi.Tests :
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USER = root
MYSQL_PASSWORD =
MYSQL_DATABASE = my_api_testModifique la base de datos y las credenciales en consecuencia.
Para comenzar la suite de prueba, ejecute:
dotnet test
La licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.