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

182
Visualizações
Express JS: ¿Cómo administrar el enrutamiento por solicitud de encabezados?

He administrado una base de servicio de API en Express JS. Tengo 2 o 3 clientes que solicitan mi API. Todas las solicitudes del cliente son manejadas por aplicaciones monolíticas únicas . Actualmente, manejo esa solicitud con este código:

 const express = require('express'); const webRoute = require('./src/routes/web/index') const cmsRoute = require('./src/routes/cms/index'); app.use('/web', webRoute) app.use('/cms', cmsRoute) // This Code works just fine. The routes are defined by URL request

Pero quiero que la solicitud de ruta no sea de Url , sino solicitada por sus encabezados. Parece que esta appKey = 'for-key' appName='web'

curl -X OBTENER \
  http://localhost:3000/cms\
  -H 'Autorización: Portador asfsfafgdgfdgddafaggafafasgfghhjhkgflkjkxjvkjzvxzvz' \
  -H 'Cartero-Token: c36d6d5a-14b7-40bf-85e0-1bf255c815de' \
  -H 'appKey: registradores de teclas' \
  -H 'appName: web (quiero por este encabezado)' \
  -H 'control de caché: sin caché'

Gracias por todos.

editar notas:

En mi código actual, para llamar a una API estoy usando esto:

https://localhost:3000/cms/user/profile or https://localhost:3000/web/user/profile Quiero que todas las solicitudes usen solo https://localhost:3000/user/profile sin agregar un prefijo web o cms

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Según un comentario, parece que desea utilizar un solo formulario de URL como:

 https://localhost:3000/user/profile

Y enrutarlo al enrutador correcto según el encabezado personalizado appName .

Puede hacerlo simplemente verificando el valor del encabezado personalizado y enviando manualmente la solicitud al enrutador deseado.

 const webRoute = require('./src/routes/web/index') const cmsRoute = require('./src/routes/cms/index'); // custom middleware to select the desired router based on custom header app.use((req, res, next) => { const appName = req.get("appName"); if (appName === "web") { webRoute(req, res, next); } else if (appName === "cms") { cmsRoute(req, res, next); } else { next(); } });
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar una ruta predeterminada, luego, según los encabezados de solicitud, puede redirigir a su ruta.

 //consider this a default route. You can arrange any in your program router.get('/', function (req, res) { // switch on request header variable value switch (req.get("appName")) { case "web": res.redirect('/web') break; case "cms": res.redirect('/cms') break; } })

about 4 years ago · Juan Pablo Isaza 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