Correct pattern for declaring REST service api endpoints in client application?
这是一个代码样式和体系结构问题。而且,它不仅适用于iOS或Android。在客户端应用程序中声明存储REST API的端点(URL)的最佳和最正确的方法是什么?比如说,我有一个社交网络或其他休息服务的客户端应用程序。这个服务有很多不同的API端点:
但是,如果Web服务相当复杂,那么可以有40-50个这样的字符串常量或更多。我想知道:也许我做的方式不对,还有更优雅的方式来管理REST客户机中的端点?任何解释或有趣的方法都会很有帮助。
我认为没有更好的方法可以在一些常量中保存端点URL(或它们的唯一部分)。如果您从一些配置文件中读取它们,这仍然是一个常量,不应该在运行时更改。
如果你被大量的敌人包围了-把他们分组。在一个类中尊重固体群的"s"和相关的enpoints。例如,将访问用户/登录、用户/配置文件、用户/其他内容的方法放在
我通常认为它的实现方式是为各种服务调用创建枚举:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | protected enum SpecificRestServiceMethods implements RestServiceMethods{ EXAMPLE_REST_CALL_ONE("/example/service/examplerestcallone"), EXAMPLE_REST_CALL_TWO("/example/service/examplerestcalltwo"), //etc etc private String path; private SpecificRestServiceMethods(String path){ this.path = path; } public String getName(){ return this.name(); } public String getPath(){ return path; } } |
然后,只需在处理一般的REST内容的任何类中猛击该块。