枚举API路由常量的好方法吗?

时间:2018-07-25 15:44:11

标签: java android enums

我现在正在转换一个旧的android应用程序,在该应用程序中,许多开发人员有很多不同的想法,中间从未遇到过。该应用程序中的一种常见模式是为API路由定义一个常量字符串列表。例如:Satin这些用于通过截击HTTP请求构造API URls,类似Public Static final String HOME_FEED = "/%s/home"的活动将订阅事件总线并等待发送Json响应对象和响应的Volley Response。码。每个API字符串常量都有一个对应的整数常量响应代码,例如String route = String.format(Requests.HOME_FEED, user.getUserId());我的建议是避免这两个常量类并将它们耦合在一起,就像这样

Public Static final int HOME_FEED_GET = 0;

哪个方法可以使凌空抽空的路线构造读为public enum Requests { HOME_FEED (0, "/actions/users/%s/following"), PROFILE_FEED (0, "/actions/users/%s"), CLUB_FEED (0, "/actions/clubs/%s"), LIKE_ITEM (1, "/items/%s/like"), LIKE_UPDATE (1, "/updates/%s/like"), LIKE_COLLECTION (1, "/collections/%s/like"), COMMENTS_ITEM (2, "/items/%s/comments"), COMMENTS_UPDATE (2, "/comments/%s/update"), COMMENTS_COLLECTION (2, "/collections/%s/comments"); private final int requestCode; private final String route; Requests(int requestCode, String route) { this.requestCode = requestCode; this.route = route; } public int requestCode() {return requestCode;} public String route() {return route;} } ,然后将传递任何订阅的事件总线String url = String.format(Requests.HOME_FEED.route(), user.getUserId()),这种方法听起来可行还是我只是在这里进行工程设计?

0 个答案:

没有答案