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

247
Visualizações
Ruta del controlador no encontrada si contiene una versión

Tengo problemas al intentar enrutar a un controlador cuando se incluye a través de un proyecto externo. El controlador en cuestión funciona bien cuando se incluye directamente en el proyecto o desde el proyecto externo SOLO cuando el campo de versión se elimina de la ruta. El controlador se define como se muestra a continuación.

 [ApiController] [ApiVersion("1.0")] [Produces("application/json")] [Route("api/v{version:apiVersion}/devices")] [Authorize(Roles = UserConst.PermissionGroup.Admin)] public class DeviceManagementController : ControllerBase{...}

Cambiar la ruta a la siguiente funciona correctamente

 [Route("api/devices")]

Cambiar la ruta a la siguiente falla de la misma manera que incluirla a través de {version:apiVersion}

 [Route("api/v1.0/devices")]

¿Alguna idea sobre lo que podría estar mal? Con cualquier información de versión, el servidor parece devolver la página de índice predeterminada, que es la alternativa cuando no se puede encontrar un controlador.

Código de Startup.cs para agregar versiones de Api

 services.AddApiVersioning(config => { config.DefaultApiVersion = new ApiVersion(1, 0); config.AssumeDefaultVersionWhenUnspecified = true; config.ReportApiVersions = true; });
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

He hecho algunas pruebas.

Al principio agregué [Route("api/devices")] a los atributos de su controlador

 [ApiController] [ApiVersion("1.0")] [Produces("application/json")] [Route("api/v{version:apiVersion}/devices")] [Route("api/devices")] public class DeviceManagementController : ControllerBase

y encontré que url .../api/v1.0/devices funciona correctamente.

Después de esto, intenté usar solo .../api/url de dispositivos.

  1. Funcionaba correctamente con el atributo [ApiVersion("1.0")]

  2. Emitió un error de versión incorrecta cuando cambié el atributo a [ApiVersion("2.0")]

así que todo estaba funcionando como se esperaba.

Resumen:

Te recomiendo que agregues [Route("api/devices")] y trates de usar.../api/devices url como una solución por ahora, hasta que encuentres algo mejor.

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