goupan
2024-04-03 5506e9a45e717ffcb67ec313b5a4e8206d9b3a39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package cn.stylefeng.roses.kernel.system.integration;
 
import cn.stylefeng.roses.kernel.rule.pojo.response.ErrorResponseData;
import cn.stylefeng.roses.kernel.rule.util.ResponseRenderUtil;
import org.springframework.web.servlet.View;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
 
/**
 * 当请求404的时候返回的错误界面
 *
 * @author fengshuonan
 * @date 2021/5/17 10:45
 */
public class ErrorStaticJsonView implements View {
 
    @Override
    public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
        if (response.isCommitted()) {
            // response已经提交不能响应
            return;
        }
 
        // 如果是运维平台404,Redirect到首页
        if (model.get("path") != null && String.valueOf(model.get("path")).startsWith("/guns-devops")) {
            response.sendRedirect("/guns-devops");
        } else {
            ErrorResponseData<Object> errorResponseData = new ErrorResponseData<>("404", "请求资源不存在");
            ResponseRenderUtil.renderJsonResponse(response, errorResponseData);
        }
    }
 
    @Override
    public String getContentType() {
        return "text/html";
    }
 
}