java - 维护 RestController 的路径常量
问题描述
我想知道为 Rest Controller 维护路径常量的常用样式是什么。例如,您有类似的东西:
@RequestMapping(method = RequestMethod.GET, value = ANY_PATH_VALUE)
我现在确实在一个名为的类中维护这些常量(在示例中为 ANY_PATH_VALUE),PathConstants
如下所示:
public abstract class PathConstants {
public static final String ANY_PATH_VALUE = "/path/{SOME_ID}";
...
}
将这些值直接保存在 RestController 类的方法中是一种常见的方法,还是像我目前所做的那样?或者有没有更常见的方法来维护这种东西?
解决方案
这有两个方面,
它实际上具有接近于零的性能问题。这必须具有可读性。
- 第一个视图是将值作为本机字符串保留在控制器中。
从某种意义上说,这更具可读性,您可以在进入控制器时直接检查确切的 API 路由。 - 第二种观点是将其保存在其他带有
static
常量的文件中。
像这样保留所有路由实际上为您提供了一个通用的地方,您可以在其中了解您当前在应用程序中支持的所有 API 路由。
我个人更喜欢第二种,即将所有路径保存在一个名为APIRoutes的文件中,并进一步按域划分。
public class APIRoutes {
public class SYSTEM {
public static final String HEALTH_CHECK = "api/v1/healthcheck";
public static final String LB_HEALTH_CHECK = "lb/v1/healthcheck";
}
public class API {
public static final String SAVE_X = "api/v1/save";
public static final String GET_X = "api/v1/get";
}
public class CACHE {
public static final String RELOAD_X = "cache/v1/load/x";
public static final String RELOAD_Y = "cache/v1/load/y";
}
}
这种方式在你的控制器中,你有类似的东西
@RequestMapping(method = RequestMethod.GET, value = APIRoutes.API.SAVE_X)
推荐阅读
- swift - 为什么我不能在按钮中调用可变函数
- python - 如何用python分割数字(如1.2.3.)
- c# - ASP.NET MVC 5 - 会话 ID 随 Cybersource 对 mvc-action 的回复而更改。丢失 Session 对象
- c# - 如何在 C# 中向 OBS 发送录制命令?
- python - 关于调色板、图形透明度和 x 轴密度的一些基本 Matplotlib 问题
- python - 如何使用 Maplotlib 更改绘图的比例并添加增量?
- c++ - boost text 序列化版本(15 vs 18)
- c# - ModelState.IsValid 为假但应该为真
- python - Google Colab 上熊猫的 ANSI 编码?
- java - 如何将 Web 驱动程序实例传递给另一个类的方法