gpt4 book ai didi

java - 将 Annotation 转换为 Java 中的另一种类型

转载 作者:行者123 更新时间:2023-12-02 10:44:01 32 4
gpt4 key购买 nike

我正在开发一个网络库并创建一些注释 - @Get、@Put、@Post、@Delete 等。它们都具有相同的属性,因此是否可以将它们全部转换为某些“super”注释以使使用它们更容易?这是我的代码现在的样子:

public void createGetRoute(Get get) {
this.path = get.path()
this.method = "GET"
}

public void createPutRoute(Put put) {
this.path = put.path()
this.method = "PUT"
}

// ... And so on

我想做的是:

public void createRoute(Route route) {
this.path = route.path()
this.method = route.method()
}

其中 Route 是所有其他注释的“父类(super class)”。我知道我们无法扩展 @interfaces,但是有其他方法可以使我的代码更加干燥吗?

最佳答案

Spring 框架利用了通用请求注释 known as @RequestMapping ,它接受方法类型和一些其他必要的参数。

在框架的版本中,存在诸如@GetMapping之类的便捷注释,它们应用相同的@RequestMapping注释和合理的默认值。

您最好从您能想到的最通用的路线注释开始,并且只有当您可以考虑将它们分解为更小的方法更方便时。

关于java - 将 Annotation 转换为 Java 中的另一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52725634/

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