package com.doumee.config.swagger;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
|
/**
|
* Swagger拦截器
|
* @author Eva.Caesar Liu
|
* @date 2022/04/18 18:12
|
*/
|
@Slf4j
|
@Component
|
public class SwaggerInterceptor implements HandlerInterceptor {
|
|
@Value("${swagger.enabled:false}")
|
private Boolean enabledSwagger;
|
|
@Value("${swagger.redirect-uri:/}")
|
private String redirectUri;
|
|
@Override
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
if (!enabledSwagger) {
|
String uri = request.getContextPath();
|
if (StringUtils.isNotBlank(redirectUri))
|
uri = request.getContextPath() + redirectUri;
|
if (StringUtils.isBlank(uri))
|
uri = "/";
|
try {
|
response.sendRedirect(uri);
|
} catch (IOException e) {
|
log.error(String.format("Redirect to '%s' for swagger throw an exception : %s", uri, e.getMessage()), e);
|
}
|
return Boolean.FALSE;
|
}
|
return Boolean.TRUE;
|
}
|
}
|