栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

接口架构风格—RESTful

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口架构风格—RESTful

理解什么是“接口(API)的架构风格”
  • 什么是API(应用程序接口)?
    • 两个单独的应用程序他们之间是无法直接进行信息交换的,必须借助于一个“桥梁”,这个桥梁就可以理解为应用程序接口。
    • 一个程序可以通过调用你暴露给我的API,就能访问你的系统中的信息或者功能,我不需要去访问你的源码,也不需要知道你的内部工作的细节的。
  • 接口架构风格
    • 为了快速,大规模建立不同应用程序之间的“桥梁”,API的使用协议或规范来定义了哪些通过网络传输的消息的语义和信息。
    • 这些规范以及协议就构成了一个个不同的接口架构风格。

认识REST
  • REST(REpresentation State Transfer)中文名称为:表现层状态转移,他是在2000年提出的一个接口架构风格。
  • 用一句话就可以概括出来REST是一种什么设计风格——使用URI表示资源(名词),使用http动作来操作资源(动词)。就是给你一个名词和一个动词,你就知道我想要干什么了,非常的简洁且优雅~
  • 如果还不是很理解的话就看下面这个具体的例子
    • 如果要对一个data进行CRUD操作的话
      • 一般的API风格可能长这样
        • /api/create_data
        • /api/read_data
        • /api/update_data
        • /api/delete_data
      • RESTful API是长这样的
        • GET /api/data
        • POST /api/data
        • PUT /api/data
        • DELETE /api/data
      • 由此我们可以看出,一般风格的API对于一个资源就会产生四个URL,如果资源多了的话,简直就是URL数量爆炸……而RESTful API对于一个资源只会产生出一个URL,对于这个资源的操作类型由http动作来指定,说他非常简洁且优雅不为过吧^_^
  • 以上就是对于RESTful接口设计风格一个简单的理解
  • 优点:
    • 轻量,直接基于http,不需要再有任何别的协议
    • 面向资源,一目了然
    • 数据描述简单,一般以xml,json做数据交换
    • ……

在SpringBoot中实现RESTful风格
  • SpringBoot开发RESTful主要是几个注解来实现的
  • @PathVariable:从URL中获取数据
  • @GetMapping:支持的get请求,等同于@RequestMapping(method=RequestMethod.GET)
  • @PostMapping:支持的post请求,等同于@RequestMapping(method=RequestMethod.POST)
  • @PutMapping:支持的put请求,等同于@RequestMapping(method=RequestMethod.PUT)
  • @DeleteMapping:支持的delete请求,等同于@RequestMapping(method=RequestMethod.DELETE)
  • @RestController:复合注解,是@Controller和@ResponseBody组合

在类的上面使用,表示当前的类的所有方法都加入了@ResponseBody注解

  • 特别介绍一下@PathVariable的使用
    • 他是用在控制器方法的形参前面,来获取URL中的数据
    • 举例说明,要获取某一个id的学生的信息,那么设计出来的RESTful API为GET /student/{id},对应的实现如下图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/601700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号