gpt4 book ai didi

java - ApiController 的自定义注释前缀/api 不起作用 Spring Boot

转载 作者:行者123 更新时间:2023-12-02 08:49:03 25 4
gpt4 key购买 nike

我定义了一个 ApiController 来添加前缀 (/api) 来进行路由匹配。我正在使用 Spring Boot

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@RestController
@RequestMapping("/api")
public @interface ApiController {

@AliasFor(annotation = RequestMapping.class, attribute = "value")
String[] value();

}

并在 Controller 中使用,例如

@ApiController("/user")
public class UserController {

/**
* Define url methods
*
*/
}

但我不知道为什么/api/user/不提供服务。它服务于/user/端点。谁能知道确切的错误吗?

最佳答案

当您使用@AliasFor时,这意味着您的注释的属性是另一个注释的属性的别名。在您的示例中,ApiController.valueRequestMapping.value 的别名,当您设置 ApiController.value 时,相同的值设置为 RequestMapping.value。不添加或连接,只需设置新值。您可以阅读 @AliasFor 的工作原理 here

你的问题呢?据我了解你想设置 api root url。您可以使用 this question 中的一种方式来完成此操作。请注意,在选项 2 中,使用了相同的技术,但没有使用 @AliasFor 来覆盖/扩展 RequestMapping.value

关于java - ApiController 的自定义注释前缀/api 不起作用 Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60902930/

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