Serie SpringCloud: llamada de servicio simulada
Dirección de GitHub: blogs.com/hbbbs/articles/8444013.html), este proyecto usaba 2.0.1.RELEASE antes, ahora necesita registrarse en eureka y el error anterior se introdujo en the pom
p>
Solución: se actualizó la versión Springboot a 2.1.0 y el proyecto comenzó normalmente
2019-10-17 Nuevo: Fingir establecer encabezado de solicitud
Método 1, atributos de encabezados de mapeo, configuraciones individuales
Método 2, FeignInterceptor personalizado, configuraciones globales
De esta manera puede configurar cookies, pasar tokens y otros valores personalizados
Escenario común 1
Generalmente tenemos una capa web de servicio, una capa svc y una capa dao, pero a veces se divide en dos servicios:
La web El servicio proporciona recursos y páginas estáticas y pasa El controlador controla el salto del controlador y los datos se obtienen llamando al servicio svc a través de java
El servicio svc es responsable del funcionamiento de la base de datos y; el procesamiento de la lógica empresarial y también proporciona una interfaz para llamar a servicios web;
En circunstancias especiales, debemos realizar la verificación de inicio de sesión en la interfaz del servicio svc. Todas las interfaces (excepto la interfaz de solicitud de inicio de sesión) deben funcionar. juicio de verificación de inicio de sesión Si no tiene permiso de inicio de sesión, debe pasar el ID de sesión y llamarlo a través del servicio svc. El ID de sesión del servicio web se pasará al servicio web svc. /p>
Nota: después de iniciar sesión correctamente, use sessionId como clave, la identificación del usuario de inicio de sesión como valor y se guarda en la caché de Redis.
Interceptor de inicio de sesión
Servicio FeignInterceptor personalizado
svc
sessionId, que no será válido después de cerrar el navegador, por lo que debe iniciar sesión nuevamente después de salir del navegador. En algunos casos, no queremos. para hacer esto queremos lograr siete días sin iniciar sesión. En este caso, necesitamos personalizar el token y almacenarlo en una cookie.
Iniciar sesión en Interceptor
Iniciar sesión. exitosamente, establezca la cookie
Iniciar sesión, destruya la cookie
El código ha sido de código abierto y está alojado en mi GitHub y Code Cloud:
GitHub: blogs.com /huanzii-qch