restful风格接口命名规范

这篇具有很好参考价值的文章主要介绍了restful风格接口命名规范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(一)rest
1.概念

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

可理解为:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

语法

URI = scheme "://" authority "/" path [ "?" query ][ "#" fragment ]
  • scheme: 指底层用的协议,如http、https、ftp。
  • host: 服务器的IP地址或者域名。
  • port: 端口,http中默认80。
  • path: 访问资源的路径,就是各种 WEB 框架中定义的 Route 路由。
  • query: 为发送给服务器的参数。
  • fragment: 锚点,定位到页面的资源,锚点为资源 id。

项目中应使用

URI = scheme"://"authority"/"api"/"version"/"path["?"query]["#"fragment]
2.restful

复合rest风格的接口

3.http常用方法
  • get:获取数据
  • post:插入数据
  • put:修改数据
  • delete:删除数据
4.名词

例如CSDN某请求接口:

https://msg.csdn.net/v1/web/message/view/unread

v1代表版本号,可以发现他的接口都是名词,所以可以知道restful接口使用的是名词。

例如设计一个获取数据的接口可以这样设计:/v1/list

上面为获取所有数据,当需要获取某一条数据时,可以这样设计:/v1/list/1,代表获取id为1的数据。

5.用法

可以设计出增删改查的restful接口:文章来源地址https://www.toymoban.com/news/detail-433827.html

  • 获取:v1/list–>GET
  • 添加:v1/list–>POST
  • 修改:v1/list–>PUT
  • 删除:v1/list–>DELETE
6.应用
@RestController
@RequestMapping("api")
@CrossOrigin
public class HelloController {
    @Autowired
    private UserService service;

    /**
     * 获取全部列表
     * @return
     */
    @GetMapping("/v1/list")
    public String getList(){
        return "获取全部列表";
    }

    /**
     * 获取列表中的一条
     * @param id 通过id获取数据
     * @return
     */
    @GetMapping("/v1/list/{id}")
    public String getListOne(@PathVariable (value = "id") Integer id){
        return "获取列表中的" + id;
    }

    /**
     * 往列表中添加数据
     * @return
     */
    @PostMapping("/v1/list")
    public String insert(){
        return "往列表中添加数据";
    }

    /**
     * 修改列表数据
     * @param id 修改该列表的id
     * @return
     */
    @PutMapping("/v1/list/{id}")
    public String update(@PathVariable(value = "id") Integer id){
        return "修改列表数据" + id;
    }

    /**
     * 删除列表数据
     * @return
     */
    @DeleteMapping("/v1/list")
    public String delete(){
        return "删除列表数据";
    }
}
7.特点
  • 基于“资源”,数据也好、服务也好,在RESTFul设计里一切都是资源。
  • 无状态。一次调用一般就会返回结果,不存在类似于“打开连接-访问数据-关闭连接”这种依赖于上一次调用的情况。
  • URL中通常不出现动词,只有名词 。
  • URL语义清晰、明确 。
  • 使用HTTP的GET、POST、DELETE、PUT来表示对于资源的增删改查 。
  • 使用JSON不使用XML 。
8.最佳实践原则
  • 使用HTTP动词表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除 。
  • 返回结果必须使用JSON 。
  • HTTP状态码,在REST中都有特定的意义:200,201,202,204,400,401,403,500。比如401表示用户身份认证失败,403表示你验证身份通过了,但这个资源你不能操作。
  • API必须有版本的概念,v1,v2,v3 。
  • 使用Token令牌来做用户身份的校验与权限分级,而不是Cookie。
  • url中大小写不敏感,不要出现大写字母。
  • 使用 - 而不是使用 _ 做URL路径中字符串连接。
  • url结尾不应该包含斜杠"/"
  • url路径名词均为复数

到了这里,关于restful风格接口命名规范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RESTful接口设计规范

    RESTful是目前最流行的API设计规范,它是用于Web数据接口的设计。从字面可以看出,他是Rest式的接口,所以我们先了解下什么是Rest。 REST与技术无关,它代表的是一种软件架构风格,REST它是 Representational State Transfer的简称,中文的含义是: “表征状态转移” 或 “表现层状态转

    2024年02月06日
    浏览(27)
  • Restful风格使用postman测试接口【增删查改示例】

    Postman 最早是google的一个插件存在的,但是又google退出中国以及postman团队对工具的定位,主攻pc端app的开发及优化,现在的google插件已经很少再使用了,postman虽然是一个商用软件,但是对于我们普通用户来说,基本功能完全够用的。 Postman 从最初设计上就是为接口测试而生的

    2024年02月06日
    浏览(39)
  • restful接口设计规范[仅供参考]

    应该尽量将API部署在专用域名之下。 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 应该将API的版本号放入URL。 另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github就采用了这种做法。 因为不同的版本,可以理解成同一种资源的不

    2024年02月15日
    浏览(33)
  • 学习笔记230804---restful风格的接口,delete的传参方式问题

    如果后端提供的删除接口是restful风格,那么使用地址栏拼接的方式发送请求,数据放在主体中,后端接受不到,当然也还有一种可能,后端在这个接口的接参设置上是req.query接参。 问题描述 今天遇到的问题是,delete接口,需要传id,后端需要id的数据类型是lang类型,使用数

    2024年02月12日
    浏览(27)
  • Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)

    一 Web开发模式 1. 前后端混合开发模式 2.前后端分离开发模式 二 API接口 三 restful规范 四 序列化和反序列化 五 drf安装和快速使用

    2024年02月10日
    浏览(33)
  • Java Restful API接口获取请求头、请求体、以及设置响应状态码、应答(响应)体等

    一、获取请求头 接口示例1: 1、从 request 对象中获取请求头: 二、获取请求体 1、从 request 对象中,使用缓冲流读取器、stream流等方式获取请求体 推荐写法一:

    2024年02月16日
    浏览(35)
  • web应用模式、API接口、接口测试工具postman、如何在浏览器中测试、restful规范、序列化反序列化、基于Django原生编写五个接口、drf介绍和快速使用、drf之APIView源码分析

    目录 一、web应用模式 二、API接口 三、接口测试工具postman postman介绍 postman下载与使用 四、如何在浏览器中测试 五、restful规范(重要) 六、序列化反序列化 七、基于Django原生编写五个接口 八、drf介绍和快速使用 概念 特点(了解一下) 安装 使用drf编写五个接口 九、drf之API

    2024年02月05日
    浏览(39)
  • 【Linux】进程排队的理解&&进程状态的表述&&僵尸进程和孤儿进程的理解

             进程不是一直运行的,进程可能会在等待某种软硬件资源。即使把进程加载到CPU中,也不是一直会运行的。而进程排队,一定是在等待某种软硬件资源(可以是CPU,键盘,磁盘,网卡等等设备......), 排队时是进程的PCB在排队 。 在这里就需要引入一个概念: 一

    2024年03月21日
    浏览(31)
  • RESTful:理解REST架构风格、RESTful API

    一、REST架构风格 REST(英文Representational State Transfer)是一种基于客户端和服务器的架构风格,用于构建可伸缩、可维护的Web服务。REST的核心思想是,将Web应用程序的功能作为资源来表示,使用统一的标识符(URI)来对这些资源进行操作,并通过HTTP协议(GET、POST、PUT、DELET

    2024年02月07日
    浏览(28)
  • 【SpringMVC】| RESTful架构风格、RESTful案例(CRUD)

    目录    RESTful架构风格 1. RESTful简介 2. RESTful的实现 3. HiddenHttpMethodFilter RESTful案例(CRUD) 1. 准备工作 2. 功能清单 列表功能(显示数据)  删除数据(难点) 添加数据  更新数据 图书推荐:用ChatGPT与VBA一键搞定Excel REST: Re presentational S tate T ransfer, 表现层资源状态转移

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包