Java Spring启动-捕获所有404错误的所有错误控制器?(多租户特定?)
我想在我的Spring Boot应用程序中实现一个简单的错误控制器,用于处理所有404错误。我现在有一个,但是它不会捕获初始错误后带有“/”的任何错误。例如: myapp.localhost/asdflas-这将被我的控制器捕获 myapp.localhost/asdflas/sadfdsfd-这将无法正确处理 我有一个多租户Spring Boot应用程序,所以我需要将变量传递到error.html模板,以便处理自定义属性。目前,对于简单的错误,它可以正常工作 我确信我的以下代码不正确,但我当前的“ErrorHandingController”类如下所示:Java Spring启动-捕获所有404错误的所有错误控制器?(多租户特定?),java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我想在我的Spring Boot应用程序中实现一个简单的错误控制器,用于处理所有404错误。我现在有一个,但是它不会捕获初始错误后带有“/”的任何错误。例如: myapp.localhost/asdflas-这将被我的控制器捕获 myapp.localhost/asdflas/sadfdsfd-这将无法正确处理 我有一个多租户Spring Boot应用程序,所以我需要将变量传递到error.html模板,以便处理自定义属性。目前,对于简单的错误,它可以正常工作 我确信我的以下代码不正确,但我当前
@Controller
public class ErrorHandlingController implements ErrorController {
@Autowired
private Environment environment;
@Autowired
private ErrorAttributes errorAttributes;
@Autowired
private SaleService saleService;
@Autowired
private OperatorService operatorService;
@Autowired
private AppProperties appProperties;
public void setAppProperties(AppProperties appProperties) {
this.appProperties = appProperties;
}
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping(value = {"/error/**", "error", "/error"}, produces = "text/html; charset=utf-8")
public String errorGeneric(ModelMap modelMap) {
String tenantName = TenantContext.getCurrentTenant();
String thisURL = environment.getProperty("server.address") + ":" + environment.getProperty("local.server.port");
ReceiptConfig receiptProperties = operatorService.getOperatorProperty();
TenantDTO tenantDTO = operatorService.getOperatorInfo(saleService.getOperatorId(TenantContext.getCurrentTenant()));
if (tenantDTO.getTenantCode() == null)
return "redirect:http://" + thisURL;
modelMap.addAttribute("tenant", tenantDTO);
modelMap.addAttribute("receiptProperties", receiptProperties);
modelMap.addAttribute("url", "http://" + receiptProperties.getUrl() + "." + thisURL);
return "error";
}
}
这种方法是正确的,还是我走得太远了?(我猜不太对劲。)可能的重复