声明Api常量的最佳方法是什么?

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

我正在使用Spring Boot开发RESTful应用程序。目前我使用接口来声明端点,因为我想在以下位置重用这些端点:

  1. 弹簧控制器(例如Api.Product.GET_ONE)
  2. 集成测试(例如Api.Product.BASE_PATH + Api.Product.GET_ONE)
  3. 在客户端应用程序中共享同一个 public interface Api { String CONTEXT_PATH = "/gateway"; interface Product { String BASE_PATH = "/product"; String GET_ONE = "/{id}"; } interface Order { String BASE_PATH = "/order"; String GET_ONE = "/{id}"; } }

根据Joshua Bloch的说法,常量接口模式是接口的不良使用。 SonarQube也显示了这个(squid:S1214)警告。

声明端点的最佳方法是什么?

java spring-mvc restful-url
1个回答
0
投票

我没有坦率地理解你的方法,你可以简单地执行以下操作来帮助你重用端点,

public interface MyEndPoints {

    public static final String CONTEXT_PATH = "/gateway";
    public static final String BASE_PATH_PRODUCT = "/product";
    public static final String BASE_PATH_ORDER = "/order";
    public static final String GET_ONE = "/{id}";

} 
  1. Spring控制器(例如MyEndPoints.GET_ONE)
  2. 集成测试(例如MyEndPoints.BASE_PATH_PRODUCT + MyEndPoints.GET_ONE)
  3. 与客户分享

我认为当您在客户端不需要它时,您可以将它作为Server的Final类。避免String BASE_PATH引用不同字符串的复杂性将在许多方面有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.