代码之家  ›  专栏  ›  技术社区  ›  Arya

Spring boot get请求参数

  •  0
  • Arya  · 技术社区  · 5 年前

    我有以下控制器

    @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 设置为我的路径变量,为什么我仍然得到一个关于缺少“term”的异常

    1 回复  |  直到 5 年前
        1
  •  2
  •   Kyan    5 年前

    你在追求 @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