java - Controller 中的 Spring Boot 重写功能

标签 java spring controller

我想要一个 url 来实现两个功能。第一个不带参数,第二个带参数。

代码:

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

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

现在它一直向我抛出错误。有解决办法吗?

谢谢。

最佳答案

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

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

请参阅documentation for @GetMapping#params .

关于java - Controller 中的 Spring Boot 重写功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233038/

相关文章:

java - 如何分析 Java Spring/Hibernate 应用程序中的所有数据库 Activity ?

ruby-on-rails - 博客条目和评论的倒序显示,Ruby on Rails

java - 带有 Spring Boot 应用程序的 Docker 卡在 RaspberryPi 上的 AnnotationConfigServletWebServerApplicationContext

java - 如何在 IntelliJ IDEA 14 中启用 "View External Documentation"选项

java - Logback - XML 文档在哪里注入(inject)变量

java - 使用java编程的modbus协议(protocol)问题

javascript - 将数字数组从 ajax 传递到 Controller

java - 向实现 org.springframework.amqp.rabbit.connection.ConnectionListener 的类通知 channel 关闭

java - eclipse-inst-win64.exe 无法打开

java - 如何将 JSON 中的 Java 对象的实例类型发送到 Java Spring-Server Post 请求?