大家好,又见面了,我是全栈君。
URL 规范
- 不用大写;(强制)
- 用中杠-不用下杠_;(强制)
- 参数列表要encode,编码使用utf-8;(强制)
- URI中的名词表示资源集合,使用复数形式。(建议)
- 增加版本号(建议)
URI中统一使用小写字母
根据RFC3986定义,URI是对大小写敏感的,所以为了避免歧义,我们尽量用小写字符。但主机名(Host)和scheme(协议名称:http/ftp/…)对大小写是不敏感的。
URI中尽量使用连字符”-“代替下划线”_”的使用
连字符”-“一般用来分割URI中出现的字符串(单词),来提高URI的可读性,例如:
http://api.example.restapi.org/blogs/mark-masse/entries/this-is-my-first-post
使用下划线”_”来分割字符串(单词)可能会和链接的样式冲突重叠,而影响阅读性。但实际上,”-“和”_”对URL中字符串的分割语意上还是有些差异的:”-“分割的字符串(单词)一般各自都具有独立的含义,可参见上面的例子。而”_”一般用于对一个整体含义的字符串做了层级的分割,方便阅读,例如你想在URL中体现一个ip地址的信息:210_110_25_88 .
URL增加版本号
根据项目的更新,原来的URL可能被多个项目所使用,需要兼容原有系统的情况下,支持新业务。
提供给内部系统使用的api,建议使用`/api/v1/`开头, 提供给前端APP使用的api,建议使用`/web-api/v1/`开头
/api/v1/loan
/web-api/v1/loan
资源集合 vs 单个资源
URI表示资源的两种方式:资源集合、单个资源。
资源集合:
/zoos //所有动物园 /zoos/1/animals //id为1的动物园中的所有动物
单个资源:
/zoos/1 //id为1的动物园
避免层级过深的URI
/在url中表达层级,用于按实体关联关系进行对象导航,一般根据id导航。
过深的导航容易导致url膨胀,不易维护,如 GET /zoos/1/areas/3/animals/4,尽量使用查询参数代替路径中的实体导航,如GET /animals?zoo=1&area=3;
转载于:https://www.cnblogs.com/hduwbf/p/7300794.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108262.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...