当前位置: 首页 > 知识库问答 >
问题:

使用自己的方法结果再次调用Spring Controller方法

田玉韵
2023-03-14

这是我的控制器:

@Controller
@RequestMapping("/area")
public class AreaController {

    @RequestMapping("/{id}")
    public String getPage(@PathVariable("id") int id){
        return "asd3333";
    }

}

这是我访问http://localhost:8080/area/1时得到的:

  • 无法转换“java”类型的值。lang.String'转换为必需的类型'int';嵌套的例外是java。lang.NumberFormatException:对于输入字符串:“asd3333”]

我测试了这个随机返回,只是为了显示发生了什么...该方法首先用请求中的@PathVariable=1调用,然后紧接着,用该方法的结果再次调用,在这种情况下,它试图传递@PathVariable="asd3333"。

我不知道到底发生了什么,请帮忙

共有1个答案

龙安阳
2023-03-14

听起来确实很奇怪。我将从一个问题开始

@RequestMapping("/{id}")
public String getPage(@PathVariable("id") int id){
    return "asd3333";
}

是否需要为所有方法类型(获取、发布、删除、...)调用此方法。如果没有,请尝试用特定的方法调用进行限制。

前任

 @RequestMapping(value = "/{id}", method = POST)

明白了。

还可以将其添加到方法中,因为您返回了一个简单的字符串

@RequestMapping("/{id}")
@ResponseBody
public String getPage(@PathVariable("id") int id)

此外,如果您不打算将此API用作Web MVC应用程序,而是将其用作其余API后端,则从@Controller切换到@RestController。

 类似资料:
  • 我有一个类,它扩展了另一个类并使用了一个特征。 扩展类()扩展了另一个类(),它扩展了一个抽象类()。 当创建一个类时,会执行trait构造函数,因为在中没有定义构造函数。同时,trait构造函数调用一个方法(),该方法在trait中定义,但也在抽象类中定义,具有相同的可见性(protected)。 我不明白的是,当从trait调用时,执行的方法不是trait中定义的方法,而是抽象类()中定义的方

  • 我开始把头撞到墙上,但我完全不明白如何在间谍类上调用真正的方法。 长话短说,我正在监视我的测试类,以存根一个私有方法。然后我想调用测试类的real void方法,但它说 testedmethod是一个空方法,不能用返回值来存根它! 问题是,我不需要把它存根。我也尝试过doCallRealMethod(),没有用。 我正在使用静态编程语言和Android Studio为我的Android项目运行一些

  • 操作步骤: 菜单栏: Navigate —> Call Hierarchy 快捷键: Mac: control + option + H Windows\/Linux: Ctrl + Alt + H

  • -在if语句中输入图像描述错误

  • 问题内容: 我想我在这里描述的可能有个名字,但我不知道。所以我的第一个问题是要知道这种技术的名称。 这是一个示例:假设您正在网页上实现实时搜索。每次用户在搜索框中键入内容时,您都会触发一个新的搜索查询,并且结果会尽可能频繁地更新。这是一件愚蠢的事情,因为您发送的查询会超出实际需要。每2-3个字母发送一次请求,或者每100 ms最多发送一次请求就足够了。 因此,一种技术是安排在键入键之后立即执行的查

  • 本文向大家介绍Rust 通用结果方法,包括了Rust 通用结果方法的使用技巧和注意事项,需要的朋友参考一下 示例 如果配置文件不存在,则输出: 如果解析失败,则输出: 注意:随着项目的发展,使用这些基本方法(文档)来处理错误会很麻烦,而又不会丢失有关错误的来源和传播路径的信息。同样,过早地将错误转换为字符串以处理多种错误类型绝对是一个坏习惯,如上所述。更好的方法是使用板条箱error-chain。