Saltar al contenido

¿Separar las aplicaciones de back-end y front-end en el mismo dominio?

Si hallas algún problema en tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.

Vas a cavar a ti mismo … profundo 🙂

El enfoque más simple y limpio sin ninguna duda es crear una sola aplicación que sirva datos para BE y FE, donde difiere la respuesta (JSON vs HTML) por la URL, pseudo rutas:

GET  /products/:id          controllers.Frontend.productHtml(id)
GET  /backend/products/:id  controllers.Backend.productJson(id)

Beneficios:

  • despliegue único (digamos a Heroku)
  • espacio de nombres administrado desde una aplicación
  • No es necesario modificar los modelos en muchas aplicaciones después de cambiar en uno de ellos

más si

Si está realmente decidido a crear dos aplicaciones separadas, use algún servidor HTTP como proxy, por ejemplo nginx – por lo que enviará todas las solicitudes a domain.tld/* a la aplicación que trabaja en el puerto 9000 (que responderá con HTML) pero solicita a domain.tld/backend/* redirigir a la aplicación que trabaja en el puerto 9001 respondiendo con JSON.

demás

Si realmente va a responder con JSON o HTML dependiendo de la persona que llama, puede intentar comparar los encabezados para verificar si la solicitud se envió desde el navegador o desde la llamada AJAX en cada controlador, pero créanme que se convertirá en una pesadilla más rápido de lo que piensas. .. inserta la moneda, elige el sabor

Otra posibilidad (por lo tanto, como respuesta separada) es usar una posibilidad agregada en Play 2.1.x a Content negotiation Creo que es lo más cercano a lo que querías obtener inicialmente 🙂

Pensé en una solución diferente. Voy a implementar el back-end en un subdominio como

http://api.myapp.com

e implemente el front-end en el dominio principal:

http://miaplicacion.com/

pero creo que es mejor usar 2 hosts diferentes, uno para front-end y otro para back-end (busqué en Google y este fue el resultado de mis investigaciones 🙂

Aquí tienes las reseñas y valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *