gpt4 book ai didi

java - @RestController注解中的值有什么作用?

转载 作者:行者123 更新时间:2023-12-01 17:41:22 25 4
gpt4 key购买 nike

使用 Maven 创建一个简单的 Spring Boot 应用程序。我已经用 RestController 注释给出了一个值,但它不起作用。如果我不使用 RestController 的值,它就可以工作。我想知道为什么它不起作用以及 @RestController 中的值有什么用?

http://localhost:9090/app/hello 这给出了错误

http://localhost:9090/hello 这工作正常

@RestController("/app") "/app" 这个值在 @RestController 注释中的用途是什么?

P.S:我知道,我可以在 ScraperResource 类上使用 @RequestMapping("/app")

@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@RestController("/app")
public class ScraperResource {
@GetMapping("hello")
public String testController() {
return "Hello";
}
}

应用程序属性

server.port=9090

最佳答案

这是因为 RestController 中的“/app”与 URL 映射无关,而是与 Spring 内部使用的“逻辑组件”名称相关.

如果您想为所有 Controller 方法添加/app 前缀(或者直接将其省略),则应该这样做。

@RestController
@RequestMapping("/app")
public class ScraperResource {

@GetMapping("hello")
public String testController() {
return "Hello";
}
}

如果没有 @RestController Spring 将不知道此类应该处理 HTTP 调用,因此它是一个必需的注释。

关于java - @RestController注解中的值有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60697251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com