com.gitee.maskit.web.MaskitResponseAdviceProcessor Maven / Gradle / Ivy
package com.gitee.maskit.web;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.core.Ordered;
import org.springframework.core.PriorityOrdered;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import java.util.Collections;
public class MaskitResponseAdviceProcessor implements BeanPostProcessor, PriorityOrdered {
private final ReloadableResourceBundleMessageSource source;
public MaskitResponseAdviceProcessor(ReloadableResourceBundleMessageSource source) {
this.source = source;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof RequestMappingHandlerAdapter) {
final RequestMappingHandlerAdapter adapter = (RequestMappingHandlerAdapter) bean;
adapter.setResponseBodyAdvice(Collections.singletonList(
new MaskitResponseAdvice(source)));
}
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
@Override
public int getOrder() {
return Ordered.HIGHEST_PRECEDENCE;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy