在 AngularJS 中显示 SQL 错误消息
Show SQL error Message in AngularJS
我正在尝试创建一个应用程序,如果用户输入了错误的输入以保留或用于查询数据库,则用户可以在其中明确看到他们违反的 SQL 规则。我想在浏览器上将其显示为弹出消息,我也在客户端使用 AngularJS 并在后端使用 SpringBoot。我看到 post 他们正在讨论如何在控制台上打印它,
Show SQL error message.
public static void printSQLException(SQLException ex) {
for (Throwable e : ex) {
if (e instanceof SQLException) {
if (ignoreSQLException(
((SQLException)e).
getSQLState()) == false) {
e.printStackTrace(System.err);
System.err.println("SQLState: " +
((SQLException)e).getSQLState());
System.err.println("Error Code: " +
((SQLException)e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while(t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
}
但在那个问题中,它显示了如何在控制台而不是浏览器中检索它。默认情况下,HttpError 消息来自 SpringBoot,它给出了 BadSQLGrammarExcpetion。我需要确切的 SQL 错误消息来显示数据库中发生的实际错误。我对 AngularJS 有点陌生,因为我主要是一名后端开发人员。因此,如果他们是任何可以提供的示例,我将不胜感激。
所以我采取了不同的方法...而不是明确地尝试显示已发生的 SQL 错误,根据发生的情况我编写了自己的异常消息并通过错误对象。这不会给用户提供太多信息,因此可能会导致安全漏洞,但足以知道已发生的问题。
我正在尝试创建一个应用程序,如果用户输入了错误的输入以保留或用于查询数据库,则用户可以在其中明确看到他们违反的 SQL 规则。我想在浏览器上将其显示为弹出消息,我也在客户端使用 AngularJS 并在后端使用 SpringBoot。我看到 post 他们正在讨论如何在控制台上打印它, Show SQL error message.
public static void printSQLException(SQLException ex) {
for (Throwable e : ex) {
if (e instanceof SQLException) {
if (ignoreSQLException(
((SQLException)e).
getSQLState()) == false) {
e.printStackTrace(System.err);
System.err.println("SQLState: " +
((SQLException)e).getSQLState());
System.err.println("Error Code: " +
((SQLException)e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while(t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
}
但在那个问题中,它显示了如何在控制台而不是浏览器中检索它。默认情况下,HttpError 消息来自 SpringBoot,它给出了 BadSQLGrammarExcpetion。我需要确切的 SQL 错误消息来显示数据库中发生的实际错误。我对 AngularJS 有点陌生,因为我主要是一名后端开发人员。因此,如果他们是任何可以提供的示例,我将不胜感激。
所以我采取了不同的方法...而不是明确地尝试显示已发生的 SQL 错误,根据发生的情况我编写了自己的异常消息并通过错误对象。这不会给用户提供太多信息,因此可能会导致安全漏洞,但足以知道已发生的问题。