Package ai.mindconnect.adminui.ui
Class AdminLayoutAdvice
java.lang.Object
ai.mindconnect.adminui.ui.AdminLayoutAdvice
- All Implemented Interfaces:
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
@ControllerAdvice(basePackages={"ai.mindconnect.adminui.ui.controller","ai.mindconnect.chatui.ui.controller","ai.mindconnect.workflow.admin"})
public class AdminLayoutAdvice
extends Object
implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
Wraps every full
UiPage returned by an admin controller with the
shared layout (header: brand, nav, user widget, optional logout) — see
AdminLayout. Doing it here, in one place, keeps controllers free of
layout concerns and guarantees no page is forgotten.
It deliberately does not wrap:
UiPatchresponses — onlyUiPageis handled (thesupports(org.springframework.core.MethodParameter, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>>)check), so in-place updates pass through untouched.- Dialog pages (
!page.getDialogs().isEmpty()) — modals render over the current page and must not carry their own header. - Already-wrapped pages — guarded by the
admin-layoutroot id, so a controller that delegates to another (which also returns a page) can't double-wrap.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbeforeBodyWrite(Object body, org.springframework.core.MethodParameter returnType, org.springframework.http.MediaType selectedContentType, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType, org.springframework.http.server.ServerHttpRequest request, org.springframework.http.server.ServerHttpResponse response) booleansupports(org.springframework.core.MethodParameter returnType, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType)
-
Constructor Details
-
AdminLayoutAdvice
-
-
Method Details
-
supports
public boolean supports(org.springframework.core.MethodParameter returnType, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType) - Specified by:
supportsin interfaceorg.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
-
beforeBodyWrite
public Object beforeBodyWrite(Object body, org.springframework.core.MethodParameter returnType, org.springframework.http.MediaType selectedContentType, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType, org.springframework.http.server.ServerHttpRequest request, org.springframework.http.server.ServerHttpResponse response) - Specified by:
beforeBodyWritein interfaceorg.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
-