首页 > 解决方案 > 控制器中的 Spring Boot 覆盖功能

问题描述

我想为两个功能提供一个网址。第一个不带参数,第二个带参数。

代码:

@RestController
public class MainController {
    @GetMapping("/")
    public String search(@RequestParam(value = "search") String... keys) {
        return Arrays.toString(keys);
    }

    @GetMapping("/")
    public String results() {
        return "results!";
    }
}

现在它一直给我一个错误。有解决办法吗?

谢谢。

标签: javaspringcontroller

解决方案


您应该向params中添加一个参数@GetMapping,这将允许映射仅限于包含这些参数的请求

@GetMapping(path = "/", params = {"search"})
public String search(@RequestParam("search") String... keys)

请参阅@GetMapping#params 的文档


推荐阅读