首页 > 解决方案 > Spring Boot 获取请求参数

问题描述

我有以下控制器

@GetMapping(value = { "/live-search" })
public String liveSearch(Model model, @PathVariable("term") String term) {
    System.out.println("CALLED!");

    return "search";
}

但是当我去以下网址时

http://localhost:8080/live-search?term=test

我明白了

Missing URI template variable 'term' for method parameter of type String]

我已term设置为我的路径变量,为什么我仍然收到关于缺少“术语”的异常

标签: spring-boot

解决方案


你在追求@RequestParam


@PathVariable会是这样的

@GetMapping("/live-search/{term}")
public String liveSearch(Model model, @PathVariable("term") String term) {
    System.out.println(term);

    return "search";
}

然后打电话../live-search/CALLED


如果您确实希望将数据作为 传递GET,它将是这样的:

@GetMapping("/live-search")
public String liveSearch(Model model, @RequestParam("term") String term) {
    System.out.println(term);

    return "search";
}

然后打电话../live-serach?term=CALLED


推荐阅读