URL 规范 整理

URL 规范 整理

大家好,又见面了,我是全栈君。

URL 规范

  1. 不用大写;(强制)
  2. 用中杠-不用下杠_;(强制)
  3. 参数列表要encode,编码使用utf-8;(强制)
  4. URI中的名词表示资源集合,使用复数形式。(建议)
  5. 增加版本号(建议)

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108262.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 链表排序之选择排序法_单链表直接选择排序

    链表排序之选择排序法_单链表直接选择排序选择排序的优点在于它每次选择出最大或者最小的值,将它们进行排序此选择排序的思想在于选择出最小的节点,创建新链表,将原链表的最小节点删除,继续循环TYPE*lain(intl,TYPE*head){TYPE*first,*tail,*p_min,*min,*p;first=NULL;while(head!=NULL){

    2022年10月11日
    0
  • 使用KNN识别MNIST手写数据集(手写,不使用KNeighborsClassifier)

    KNN识别MNIST手写数据集(32*32维),根据KNN原理一步步实现。

    2022年4月6日
    37
  • weakHashMap用法

    weakHashMap用法WeakHashMap,此种Map的特点是:当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,举例来说:声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap remove掉a并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是

    2022年5月31日
    39
  • Git基础使用教程[通俗易懂]

    Git基础使用教程[通俗易懂]Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。之前的博客中介绍了linux下安装Git的内容,这篇博客,简单介绍下使用Git进行本地文件管理和连接上传远程仓库的方法。。。一、Windows上安装Git一般我们工作的电脑都是Windows系统,要使用git首先要进行安装。从软件管家或者其他平台找到…

    2022年6月6日
    34
  • WPF 精修篇 Winform 嵌入WPF控件「建议收藏」

    首先创建WPF控件库这样就有了一个WPF界面在wpf中增加界面等在winform中增加WPFDLL重新生成解决方案在左侧工具栏出现WPF控件拖到窗体效果…

    2022年4月12日
    37
  • QMovie的使用

    QMovie的使用QMovie是一个可以存放动态视频的类今天第一次使用,记录一下一般是配合QLabel使用的,可以用来存放GIF动态图 m_background=newQLabel(this);m_background->setGeometry(0,0,MENU_WINDOW_WIDTH,MENU_WINDOW_HEIGHT);QMovie*backgroundMovie=newQMovie(“:/images/menu/MenuBackground.gif”,QByteArra

    2022年6月16日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号