如何在 Spring Rest 控制器上强制执行命名约定?

问题描述 投票:0回答:1

对于我们的 REST api,我们已标准化使用连字符大小写 IE。

GET /store-users?first-name=dan
而不是
GET /storeUsers?firstName=dan

当开发人员不断向应用程序添加不合规的 URL 时,我们如何强制执行此命名约定。 对可能导致 Maven 构建失败的 Spring Rest 控制器注释进行一些静态分析是理想的选择。

java spring-rest
1个回答
-2
投票

一个简单的单元测试应该做:

@Autowired
private ApplicationContext applicationContext;

@Test
public void allEndpointsShouldBeKebabCase() {
    RequestMappingHandlerMapping requestMappingHandlerMapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
    var methodMap = requestMappingHandlerMapping.getHandlerMethods();
    //Insert your endpoint path checks here
}
© www.soinside.com 2019 - 2024. All rights reserved.