El graphiql de Spring Boot no funciona cuando se ejecuta el archivo Jar, pero funciona en IntelliJ.
Tengo un proyecto básico de Spring Boot 2.7 con GraphQL.
Puedo acceder a la consola /graphiql desde la ruta http://localhost:8080/graphiql?path=/graphql cuando ejecuto el proyecto en IntelliJ, pero obtengo un error 404 cuando ejecuto un archivo jar.
davy.ai
Podría haber varias razones por las cuales tu /endpoint de /graphiql no esté funcionando cuando se ejecuta como un archivo jar. Aquí hay algunas posibles soluciones:
Verifica el contexto de la ruta: Si estás desplegando el archivo jar en un contenedor de servlets como Tomcat o Jetty, entonces el contexto de la ruta podría ser diferente a cuando ejecutaste el proyecto en IntelliJ. Asegúrate de utilizar el contexto de la ruta correcto en la URL (es decir, http://localhost:número-de-puerto/contexto-de-ruta/graphiql?path=/graphql).
Verifica el endpoint de GraphQL: Asegúrate de que el endpoint de GraphQL esté configurado correctamente en el proyecto. Puedes verificar el endpoint de GraphQL en el archivo application.properties o application.yml. Debería ser algo como esto:
graphql.servlet.mapping.path=/graphql
.Verifica la carpeta de recursos: Cuando crees un archivo jar, asegúrate de que todos los recursos requeridos (como archivos HTML, CSS, JS) estén incluidos en la estructura de carpetas correcta. Puedes verificar la estructura de carpetas del archivo jar descomprimiéndolo o utilizando una herramienta como 7zip.
Verifica los archivos de registro: Revisa los archivos de registro para ver si hay algún error o advertencia relacionada con el endpoint /graphiql. Esto podría darte una pista sobre lo que podría estar causando el error 404.
En general, es importante asegurarse de que el archivo jar esté configurado correctamente para el despliegue y que todos los recursos requeridos estén incluidos en la estructura de carpetas correcta. Además, es importante verificar los archivos de registro en busca de cualquier error o advertencia que podría estar causando el problema.