对于RESTful API 设计中,会有资源的概念, 对于某个
path
下对应一种资源,对应关系为1:1。 这对API的设计要求很高。 在设计之初,就要充分考虑资源分配的合理性。考虑到后续系统的扩展性,以及简化整体系统的设计,我们设计ClassesTypes
用户更细粒度的控制。当后续数据库等资源需要扩展时,有些API对url
参数进行扩展即可。
type
字段和path
字段的对应关系通常情况为1:1, 特殊情况为1:n。
类型定义
public interface ClassesTypes {
String ARTICLE = "article";
String BOOK = "book";
String BOOK_PAGE = "book-page";
String NEWS = "news";
String LABEL = "label";
String SLIDER = "slider";
String PRODUCT = "product";
String NAV = "nav";
String SITE = "site";
String ARTICLE_CLASSIFY = "article-c";
String BOOK_CLASSIFY = "book_c";
String NEWS_CLASSIFY = "news_c";
String LABEL_CLASSIFY = "news_c";
String SLIDER_CLASSIFY = "slider_c";
String PRODUCT_CLASSIFY = "product_c";
String NAV_CLASSIFY = "nav_c";
String SITE_CLASSIFY = "site_c";
String ARTICLE_GROUP = "article-g";
String BOOK_GROUP = "book_g";
String NEWS_GROUP = "news_g";
String LABEL_GROUP = "news_g";
String SLIDER_GROUP = "slider_g";
String PRODUCT_GROUP = "product_g";
String NAV_GROUP = "nav_g";
String SITE_GROUP = "site_g";
// the following is the basic material.
String PICTURE = "picture";
String VIDEO = "video";
String AUDIO = "audio";
String FILE = "file";
String TEXT = "text";
String PICTURE_CLASSIFY = "picture-c";
String VIDEO_CLASSIFY = "video-c";
String AUDIO_CLASSIFY = "audio-c";
String FILE_CLASSIFY = "file-c";
String TEXT_CLASSIFY = "text-c";
String PICTURE_GROUP = "picture-g";
String VIDEO_GROUP = "video-g";
String AUDIO_GROUP = "audio-g";
String FILE_GROUP = "file-g";
String TEXT_GROUP = "text-g";
String CLASSIFICATION = "clsf";
String GROUP = "tinfo";
String PHONE_AUTHRZ = "prz";
String EMAIL_AUTHRZ = "erz";
String RESOURCE_CFG = "rcfg";
String MAP_STORAGE = "map";
String SECRET_KEY = "s-key";
String ACCESS_USER = "au";
String USER_PERMISSION = "up";
String ROLE_PERMISSION = "rp";
String USER_ROLE_SETTING = "urc";
String MATERIAL_CP = "m-cp";
String MATERIAL_MV = "m-mv";
}
素材类型说明
类型名(TYPE) | 说明 | 资源域(PATH) |
---|---|---|
ARTICLE | 文章 | URL_ARTICLES |
BOOK | 文集 | URL_BOOKS |
BOOK_PAGE | 文集某页面 | URL_BOOK_PAGE |
NEWS | 图文 | URL_NEWS |
SLIDER | 轮播URL_BOOK_PAGE图 | URL_SLIDERS |
PRODUCT | 产品 | URL_PRODUCTS |
PICTURE | 图片 | URL_PICTURES |
VIDEO | 视频 | URL_VIDEOS |
AUDIO | 音频 | URL_AUDIOS |
FILE | 文件 | URL_FILES |
TEXT | 文本 | URL_TEXTS |
NAV | 导航 | URL_NAVS |
URL | 链接 | 无 |
SITE | 站点 | URL_SITES |
SITE_CORRELATION | 站点关联 | URL_SITE_CORRELATION |
LABEL | 标签 | URL_LABELS |
分类分组素材说明
类型名(TYPE) | 说明 | 资源域(PATH) |
---|---|---|
CLASSIFICATION | 分类动作 | URL_CLASSIFICATION |
GROUP | 分组动作 | URL_TAG_INFO |
PICTURE_CLASSIFY | 图片的分类 | URL_CLASSIFICATION |
VIDEO_CLASSIFY | 视频的分类 | URL_CLASSIFICATION |
AUDIO_CLASSIFY | 音频的分类 | URL_CLASSIFICATION |
FILE_CLASSIFY | 文件的分类 | URL_CLASSIFICATION |
TEXT_CLASSIFY | 文本的分类 | URL_CLASSIFICATION |
ARTICLE_CLASSIFY | 文章的分类 | URL_CLASSIFICATION |
BOOK_CLASSIFY | 文集的分类 | URL_CLASSIFICATION |
NEWS_CLASSIFY | 图文的分类 | URL_CLASSIFICATION |
LABEL_CLASSIFY | 标签的分类 | URL_CLASSIFICATION |
SLIDER_CLASSIFY | 轮播图的分类 | URL_CLASSIFICATION |
PRODUCT_CLASSIFY | 商品的分类 | URL_CLASSIFICATION |
NAV_CLASSIFY | 导航的分类 | URL_CLASSIFICATION |
SITE_CLASSIFY | 站点的分类 | URL_CLASSIFICATION |
ARTICLE_GROUP | 文章的分组 | URL_TAG_INFO |
BOOK_GROUP | 文集的分组 | URL_TAG_INFO |
NEWS_GROUP | 图文的分组 | URL_TAG_INFO |
LABEL_GROUP | 标签的分组 | URL_TAG_INFO |
SLIDER_GROUP | 轮播图的分组 | URL_TAG_INFO |
PRODUCT_GROUP | 商品的分组 | URL_TAG_INFO |
NAV_GROUP | 导航的分组 | URL_TAG_INFO |
SITE_GROUP | 站点的分组 | URL_TAG_INFO |
PICTURE_GROUP | 图片的分组 | URL_TAG_INFO |
VIDEO_GROUP | 视频的分组 | URL_TAG_INFO |
AUDIO_GROUP | 语音的分组 | URL_TAG_INFO |
FILE_GROUP | 文件的分组 | URL_TAG_INFO |
TEXT_GROUP | 文本的分组 | URL_TAG_INFO |
其他接口类型说明
类型名(TYPE) | 说明 | 资源域(PATH) |
---|---|---|
PHONE_AUTHRZ | 短信授权 | URL_PHONE_AUTHRZ |
EMAIL_AUTHRZ | 邮件授权 | URL_EMAIL_AUTHRZ |
RESOURCE_CFG | 该账号的资源配置 | URL_RES_CONFIG |
MAP_STORAGE | Map存储 | URL_MAPS |
SECRET_KEY | 应用程序账号 | URL_SECRET_KEY |
ACCESS_USER | 子账号管理 | URL_ACCESS_USER |
USER_PERMISSION | 用户权限获取 | URL_USER_PERMISSIONS |
ROLE_PERMISSION | 角色权限设置 | URL_ROLE_PERMISSION |
USER_ROLE_SETTING | 设置用户角色功能 | URL_USER_ROLE_CORRELATION |
MATERIAL_CP | 素材拷贝 | URL_MATERIAL_CP |
MATERIAL_MV | 素材移动 | URL_MATERIAL_MV |