Java 数字格式接收弹簧

Java 数字格式接收弹簧,java,spring,exception,Java,Spring,Exception,下面的代码 @GetMapping("/brian/{number}") public String getBrianMessage(@PathVariable int number) throws NumberFormatException { try { logList.add(number); String stringList = logList.toString(); return

下面的代码

    @GetMapping("/brian/{number}")
    public String getBrianMessage(@PathVariable int number) throws NumberFormatException {
        try {
            logList.add(number);
            String stringList = logList.toString();
            return "List is " + stringList;
        } catch (NumberFormatException e){
            int newCount= 999;
            logList.add(newCount);
            String stringList = logList.toString();
            return "List is " + stringList;
        }
    }

当转到url时,我希望整数存储在列表中。当您使用有效的整数值时,这可以正常工作。我希望能够在提供字符串时将值默认为999。因此,如果我转到/brian/string,它应该向列表中添加999并返回它。这不起作用,我得到的错误与我添加异常处理之前的错误相同

您的参数类型为
int
。例如,Spring如何在
int
类型的变量中存储“abcd”?如果你想接受一个字符串,那么把变量的类型改为String,然后检查你自己是否可以在这个方法中将它解析为int。我只是想更好地学习异常处理。所以我猜它甚至没有进入try语句,因为参数是整数是导致错误的原因。因此,我们永远不会发现异常?明白了。Spring想调用您的方法。您的方法需要一个int。它不可能将abcd转换为int。因此它会引发异常,并且从不调用您的方法。通过将变量键入int,您就明白地告诉Spring:拒绝任何不能作为int进行pasred的值。您的参数类型为
int
。例如,Spring如何在
int
类型的变量中存储“abcd”?如果你想接受一个字符串,那么把变量的类型改为String,然后检查你自己是否可以在这个方法中将它解析为int。我只是想更好地学习异常处理。所以我猜它甚至没有进入try语句,因为参数是整数是导致错误的原因。因此,我们永远不会发现异常?明白了。Spring想调用您的方法。您的方法需要一个int。它不可能将abcd转换为int。因此它会引发异常,并且从不调用您的方法。通过将变量输入为int,您可以简单地告诉Spring:拒绝任何不能作为int进行pasred的值。