- Notifications
You must be signed in to change notification settings - Fork0
Extensiones y utilidades comunes compartidas en los proyectos.
NotificationsYou must be signed in to change notification settings
kitpymes/template-netcore-api
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Extensiones y herramientas comunes utilizadas por la Api
Visual Studio >= 2019
NET TargetFramework >= net5.0
Net Core SDK >= 5.0.100
C# >= 9.0
Conocimientos sobre Inyección de Dependencias
Se puede instalar usando el administrador de paquetes Nuget o CLI dotnet.
Nuget
Install-Package Kitpymes.Core.Api
CLI dotnet
dotnet add package Kitpymes.Core.Api
publicstaticclassApiVersioningApplicationBuilderExtensions{publicstaticIApplicationBuilderLoadApiVersioning(thisIApplicationBuilderapplication){}}
publicstaticclassApiVersioningServiceCollectionExtensions{publicstaticIServiceCollectionLoadApiVersioning(thisIServiceCollectionservices,IConfigurationconfiguration,IApiVersionReader?apiVersionReader=null,IApiVersionConventionBuilder?conventions=null){}publicstaticIServiceCollectionLoadApiVersioning(thisIServiceCollectionservices,Action<ApiVersioningOptions>options){}publicstaticIServiceCollectionLoadApiVersioning(thisIServiceCollectionservices,ApiVersioningSettingssettings){}}
publicclassApiVersioningOptions{publicApiVersioningOptionsWithEnabled(boolenabled){}publicApiVersioningOptionsWithMajorVersion(intversion){}publicApiVersioningOptionsWithMinorVersion(intversion){}publicApiVersioningOptionsWithAssumeDefaultVersionWhenUnspecified(boolassume){}publicApiVersioningOptionsWithReportApiVersions(boolreport){}publicApiVersioningOptionsWithSubstituteApiVersionInUrl(boolsubstitute){}publicApiVersioningOptionsWithGroupNameFormat(stringnameFormat){}publicApiVersioningOptionsWithApiVersionReader(IApiVersionReaderapiVersionReader){}publicApiVersioningOptionsWithConventions(IApiVersionConventionBuilderconventions){}}
publicclassApiVersioningSettings{publicbool?Enabled{get;set;}publicint?MajorVersion{get;set;}publicint?MinorVersion{get;set;}publicbool?AssumeDefaultVersionWhenUnspecified{get;set;}publicbool?ReportApiVersions{get;set;}publicbool?SubstituteApiVersionInUrl{get;set;}publicstring?GroupNameFormat{get;set;}[JsonIgnore]publicIApiVersionReader?ApiVersionReader{get;set;}[JsonIgnore]publicIApiVersionConventionBuilder?Conventions{get;set;}}
publicenumApiVersioningStatus{Alpha,Beta,RC,Stable,}
publicstaticclassDependencyInjectionSession{publicstaticIServiceCollectionLoadSession(thisIServiceCollectionservices,Action<SessionOptions>options){}publicstaticIServiceCollectionLoadSession(thisIServiceCollectionservices){}publicstaticIApplicationBuilderLoadSession(thisIApplicationBuilderapplication){}}
publicclassSessionOptions{publicSessionOptionsWithEnabled(boolenabled=true){}publicSessionOptionsWithMultitenancy(boolenabled=true){}publicSessionOptionsWithTenants(paramsEntities.TenantSession[]tenants){}}
publicclassSessionSettings{publicbool?Enabled{get;set;}publicbool?IsMultitenancy{get;set;}publicList<TenantSession>Tenants{get;set;}=new();}
publicstaticclassInitHost{publicstaticasyncTaskRunAsync<TStartup>(string[]args)whereTStartup:class{}publicstaticIHostBuild<TStartup>(string[]args)whereTStartup:class{}publicstaticIHostBuilderCustom<TStartup>(string[]args)whereTStartup:class{}}
publicclassAspNetResult:IActionResult{publicAspNetResult(IResultresult)=>Result=result;privateIResultResult{get;}publicasyncTaskExecuteResultAsync(ActionContextcontext){}}
publicstaticclassSpaApplicationBuilderExtensions{publicstaticIApplicationBuilderLoadSpa(thisIApplicationBuilderapplication,Action<AngularOptions>options){}publicstaticIApplicationBuilderLoadSpa(thisIApplicationBuilderapplication,AngularSettingssettings){}}
publicstaticclassSpaServiceCollectionExtensions{publicstaticIServiceCollectionLoadSpa(thisIServiceCollectionservices,stringrootPath=DefaultRootPath){}}
publicabstractclassSpaBaseSettings{publicbool?{get;set;}publicstring?SourcePath{get;set;}publicstring?NpmScript{get;set;}publicstring?BaseUri{get;set;}}
publicclassSpaOptions{publicSpaOptionsWithEnabled(boolenabled=true){}publicSpaOptionsWithAngular(Action<AngularOptions>options){}publicSpaOptionsWithAngular(AngularSettingssettings){}}
publicclassSpaSettings{publicbool?Enabled{get;set;}publicAngularSettings?AngularSettings{get;set;}}
publicclassAngularOptions{publicAngularOptionsWithEnabled(boolenabled=true){}publicAngularOptionsWithSourcePath(stringsourcePath=AngularSettings.DefaultSourcePath){}publicAngularOptionsWithNpmScript(stringnpmScript=AngularSettings.DefaultNpmScript){}publicAngularOptionsWithBaseUri(stringbaseUri=AngularSettings.DefaultBaseUri){}}
publicclassAngularSettings:SpaBaseSettings{}
publicstaticclassSwaggerApplicationBuilderExtensions{publicstaticIApplicationBuilderLoadSwagger(thisIApplicationBuilderapplication){}}
publicstaticclassSwaggerOperationFilterContextExtensions{publicstaticIEnumerable<TAttribute>GetControllerAndActionAttributes<TAttribute>(thisOperationFilterContextcontext)whereTAttribute:Attribute{}}
publicstaticclassSwaggerServiceCollectionExtensions{publicstaticIServiceCollectionLoadSwagger(thisIServiceCollectionservices,Action<SwaggerOptions>options){}publicstaticIServiceCollectionLoadSwagger(thisIServiceCollectionservices,SwaggerSettingssettings){}}
publicclassApiExplorerDocumentFilter:IDocumentFilter{publicApiExplorerDocumentFilter(IOptions<ApiExplorerOptions>options){}publicvoidApply(OpenApiDocumentswaggerDoc,DocumentFilterContextcontext){}}
publicclassAuthorizationBearerFilter:IOperationFilter{publicvoidApply(OpenApiOperationoperation,OperationFilterContextcontext){}}
publicsealedclassDefaultValuesFilter:IOperationFilter{publicvoidApply(OpenApiOperationoperation,OperationFilterContextcontext){}}
publicsealedclassStatusCodesFilter:IOperationFilter{publicvoidApply(OpenApiOperationoperation,OperationFilterContextcontext){}}
publicsealedclassSupportedLanguagesFilter:IOperationFilter{publicSupportedLanguagesFilter(IServiceProviderserviceProvider){}publicvoidApply(OpenApiOperationoperation,OperationFilterContextcontext){}}
publicsealedclassYamlDocumentFilter:IDocumentFilter{privateIWebHostEnvironmentHostingEnvironment{get;}publicYamlDocumentFilter(IWebHostEnvironmenthostingEnvironment){}publicvoidApply(OpenApiDocumentswaggerDoc,DocumentFilterContextcontext){}}
publicclassContactSettings{publicstring?Name{get;set;}publicstring?Url{get;set;}publicstring?Email{get;set;}}
publicclassLicenseSettings{publicstring?Name{get;set;}publicstring?Url{get;set;}}
publicclassSecuritySettings{publicstring?Title{get;set;}publicstring?Name{get;set;}publicstring?Scheme{get;set;}publicstring?Description{get;set;}publicint?ParameterLocation{get;set;}publicint?SecurityType{get;set;}}
publicclassSwaggerOptions{publicSwaggerOptionsWithEnabled(boolenabled=true){}publicSwaggerOptionsWithRoutePrefix(stringroutePrefix){}publicSwaggerOptionsWithVersion(stringversion){}publicSwaggerOptionsWithTitle(stringtitle){}publicSwaggerOptionsWithDescription(stringdescription){}publicSwaggerOptionsWithTermsOfServiceUrl(stringurl){}publicSwaggerOptionsWithContact(ContactSettingscontact){}publicSwaggerOptionsWithLicense(LicenseSettingslicense){}publicSwaggerOptionsWithSecurity(SecuritySettingssecurity){}publicSwaggerOptionsWithXmlComments(Assemblyassembly){}}
publicclassSwaggerSettings{publicbool?Enabled{get;set;}publicstring?RoutePrefix{get;set;}publicstring?Version{get;set;}publicstring?Title{get;set;}publicstring?Description{get;set;}publicstring?TermsOfServiceUrl{get;set;}publicContactSettingsContact{get;set;}=newContactSettings();publicLicenseSettingsLicense{get;set;}=newLicenseSettings();publicSecuritySettingsSecurity{get;set;}=newSecuritySettings();publicAssembly?XmlComments{get;set;}[JsonIgnore]publicstringRoutePrefixWithSlash=>string.IsNullOrWhiteSpace(RoutePrefix)?string.Empty:RoutePrefix+"/";}
- NET Core - Framework de trabajo
- C# - Lenguaje de programación
- Inserción de dependencias - Patrón de diseño de software
- Postman - Pruebas unitarias API REST
- Nuget - Manejador de dependencias
- Visual Studio - Entorno de programacion
- Sebastian R Ferrari -Trabajo Inicial -kitpymes
- Este proyecto está bajo la LicenciaLICENSE
- Este proyecto fue diseñado para compartir, creemos que es la mejor forma de ayudar 📢
- Cada persona que contribuya sera invitada a tomar una 🍺
- Gracias a todos! 🤓
Kitpymes 😊
About
Extensiones y utilidades comunes compartidas en los proyectos.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.