Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

333
Visualizações
No se puede encontrar una descripción de OpenAPI

Estoy trabajando en los tutoriales de Microsoft Learn para "Crear una API web con ASP.Net Core".

Usé .NET5

Tengo un problema cuando ejecuto el comando:

 httprepl connect http://localhost:5000

Recibo una respuesta, "No se puede encontrar una descripción de OpenAPI".

Y el siguiente comando "ls" me devuelve de él sin puntos finales de tropa.

 c:/xxx/Source/Repos/ContosoPizza $ httprepl http://localhost:5000 (Disconnected)> connect http://localhost:5000 Using a base address of http://localhost:5000/ Unable to find an OpenAPI description For detailed tool info, see https://aka.ms/http-repl-doc http://localhost:5000/> ls No directory structure has been set, so there is nothing to list. Use the "connect" command to set a directory structure based on an OpenAPI description.

Probé todas las soluciones ofrecidas por @Gowiser en la pregunta lanzada por @Nuse ¿Por qué HttpRepl no puede encontrar una descripción de OpenAPI? El comando "ls" no muestra los puntos finales disponibles

Pero nada funcionó.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Supongo que está siguiendo los pasos descritos en el ejercicio 'Crear un proyecto de API web' del curso Crear una API web con ASP.NET Core .

Antes de pasar al paso 5, asegúrese de que en su proyecto haya:

  • una llamada services.AddSwaggerGen() en el método Startup.ConfigureServices()
  • una llamada app.UseSwagger() en el método Startup.Configure()

Aquí hay una versión funcional de Startup.cs:

 using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; namespace ContosoPizza { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "ContosoPizza", Version = "v1" }); }); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ContosoPizza v1")); } app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } } }

Llamar a ls en la sesión httprepl muestra los resultados esperados:

 ❯ httprepl http://localhost:5000 (Disconnected)> connect http://localhost:5000 Using a base address of http://localhost:5000/ Using OpenAPI description at http://localhost:5000/swagger/v1/swagger.json For detailed tool info, see https://aka.ms/http-repl-doc http://localhost:5000/> ls . [] WeatherForecast [GET] http://localhost:5000/>

Aquí puede encontrar un proyecto completo para este ejercicio.

over 4 years ago · Santiago Trujillo Relatório

0

Trabajando a través de Crear una API web con ASP.NET Core Controllers , también me encontré con el error

No se puede encontrar una descripción de OpenAPI

El tutorial usa dotnet 6, yo estaba usando dotnet core 3.1.

Hice los cambios de las respuestas de sasha anteriores y tuve que agregar estos paquetes

 dotnet add package Microsoft.OpenApi --version 1.2.3 dotnet add package Swashbuckle.AspNetCore.Swagger --version 6.2.3 dotnet add package Swashbuckle.AspNetCore.SwaggerUI --version 6.2.3 dotnet add package Swashbuckle.AspNetCore.SwaggerGen --version 6.2.3

Después de todo eso, todavía recibí mensajes de error. En el paso 4 del Ejercicio: crear un proyecto de API web, se escribe lo siguiente

Conéctese a nuestra API web ejecutando el siguiente comando:

 httprepl https://localhost:{PORT}

Como alternativa, ejecute el siguiente comando en cualquier momento mientras se ejecuta HttpRepl:

 (Disconnected)> connect https://localhost:{PORT}

No sabía que ejecutar httprepl así

 httprepl https://localhost:{PORT}

aún requiere que su aplicación web se esté ejecutando. Por lo tanto, debe abrir una segunda terminal (cmd.exe) para ejecutar su proyecto webapi dotnet dotnet run . Después de eso, puede conectarse a los documentos de Swagger usando httprepl como este

 connect http://localhost:5000 --verbose --openapi /swagger/v1/swagger.json http://localhost:5000/> ls . [] WeatherForecast [GET] http://localhost:5000/> cd WeatherForecast /WeatherForecast [GET] http://localhost:5000/WeatherForecast> get HTTP/1.1 200 OK

Esto hizo el truco para mí.

Agregar la interfaz de usuario swagger

Swashbuckle.AspNetCore - Primeros pasos contiene

Opcionalmente, inserte el middleware swagger-ui si desea exponer la documentación interactiva, especificando los puntos finales Swagger JSON para alimentarlo.

 app.UseSwaggerUI(c => { c.SwaggerEndpoint("v1/swagger.json", "My API V1"); });

Si cambia startup.cs para incluir esto

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ContosoPizza v1")); } ....

Obtiene una buena interfaz gráfica de usuario en http://localhost:5000/swagger/ que se ve así

Interfaz de usuario arrogante

over 4 years ago · Santiago Trujillo Relatório

0

ejecute este comando primero:

 dotnet dev-certs https --trust
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda