【Springboot】第五章 接口架构风格 — RESTful

第五章 接口架构风格 — RESTful

接口: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。
用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。

接口(API): 可以指访问servlet、controller的url, 调用其他程序的函数

架构风格: API 组织方式(样子)
就是一个传统的: http://localhost:9002/mytrans/addStudent?name=lisi&age=26
在地址上提供了 访问的资源名称addStudent, 在其后使用了get方式传递参数。

RESTful架构风格
5.1 REST
1)REST :

英文: Representational State Transfer
中文: 表现层状态转移

REST:是一种接口的架构风格和设计的理念,不是标准。
优点: 更简洁,更有层次

表现层状态转移:
表现层就是视图层, 显示资源的, 通过视图页面,jsp等等显示操作资源的结果。
状态: 资源变化
转移: 资源可以变化的。 资源能创建,new状态, 资源创建后可以查询资源, 能看到资源的内容,这个资源内容可以被修改, 修改后资源和之前的不一样。

2)REST中的要素:

用REST表示资源和对资源的操作。
在互联网中,表示一个资源或者一个操作。
资源是使用url表示的, 在互联网中使用的图片、视频、文本、网页等等都是资源。资源是用名词表示的。

对资源:

  • 查询资源: 看,通过url找到资源。
  • 创建资源: 添加资源
  • 更新资源:更新资源 ,编辑
  • 删除资源: 去除

资源使用url表示,通过名词表示资源。
在url中使用名词表示资源以及访问资源的信息,在url中使用" / "分隔对资源的信息 :http://localhost:8080/myboot/student/1001

使用http中的动作(请求方式)表示对资源的操作(CURD)

请求方式:

  1. GET: 查询资源 – sql select

处理单个资源: 用他的单数方式
http://localhost:8080/myboot/student/1001
http://localhost:8080/myboot/student/1001/1

处理多个资源:使用复数形式
http://localhost:8080/myboot/students/1001/1002

  1. POST: 创建资源 – sql insert

http://localhost:8080/myboot/student

在post请求中传递数据:

<form action="http://localhost:8080/myboot/student" method="post">
	姓名:<input type="text" name="name" />
    年龄:<input type="text" name="age" />
  </form>
  1. PUT: 更新资源 – sql update
<form action="http://localhost:8080/myboot/student/1" method="post">
	姓名:<input type="text" name="name" />
    年龄:<input type="text" name="age" />
         <input type="hidden" name="_method" value="PUT" />
  </form>
  1. DELETE: 删除资源 – sql delete
<a href="http://localhost:8080/myboot/student/1">删除1的数据</a>

需要的分页、 排序等参数,依然放在 url的后面, 例如:http://localhost:8080/myboot/students?page=1&pageSize=20

3) 一句话说明REST:

使用url表示资源 ,使用http动作操作资源。

RESTful 注解
  1. @PathVariable : 从url中获取数据

  2. @GetMapping: 支持的get请求方式, 等同于 @RequestMapping(method=RequestMethod.GET)

  3. @PostMapping: 支持post请求方式 ,等同于 @RequestMapping(method=RequestMethod.POST)

  4. @PutMapping: 支持put请求方式, 等同于 @RequestMapping(method=RequestMethod.PUT)

  5. @DeleteMapping: 支持delete请求方式, 等同于 @RequestMapping(method=RequestMethod.DELETE)

  6. @RestController: 符合注解, 是@Controller@ResponseBody组合。
    在类的上面使用@RestController , 表示当前类者的所有方法都加入了@ResponseBody

例子:
1.新建一个模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建资源:
在这里插入图片描述
添加一个静态页面:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击注册学生:
在这里插入图片描述

更新资源:
在这里插入图片描述
删除资源:
在这里插入图片描述
Postman : 测试工具
官网地址
使用Postman : 可以测试 get、post 、 put 、delete 等请求
在这里插入图片描述
在这里插入图片描述
post请求:
在这里插入图片描述
在这里插入图片描述
put请求:
在这里插入图片描述

5.2 在页面中或者ajax中支持put、delete请求

在SpringMVC中 有一个过滤器支持post请求转为put ,delete

过滤器: org.springframework.web.filter.HiddenHttpMethodFilter
作用: 把请求中的post请求转为 put 、delete

实现步骤:

  1. application.properties(yml) : 开启使用 HiddenHttpMethodFilter 过滤器
  2. 在请求页面中,包含 _method参数, 值是 putdelete , 发起这个请求使用的post方式。

应用:
在这里插入图片描述
在这里插入图片描述

RESTful 总结:

➢ 增 post 请求、删 delete 请求、改 put 请求、查 get 请求
➢ 请求路径不要出现动词
例如:查询订单接口 /boot/order/1021/1(推荐)
/boot/queryOrder/1021/1(不推荐)
➢ 分页、排序等操作,不需要使用斜杠传参数
例如:订单列表接口 /boot/orders?page=1&sort=desc
一般传的参数不是数据库表的字段,可以不采用斜杠

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Spring Boot 是一个基于 Spring 框架的快速开发框架,它的主要内容包括: 1. 自动配置:Spring Boot 通过条件化配置、自动配置等技术,简化了 Spring 应用的配置工作,开发者不再需要手动配置大量的 XML 或者注解来启动一个应用。 2. 起步依赖:Spring Boot 提供了众多的 starter(起步依赖),每个 starter 都包含了一个或多个依赖库和配置,可以轻松地将需要的功能集成到应用中。 3. Actuator:Spring Boot 提供了 Actuator 模块,可以实现对应用的监控和管理,比如查看应用的健康状况、配置信息、日志等。 4. 命令行界面:Spring Boot 支持开发者通过命令行界面(CLI)来快速创建和运行 Spring Boot 应用,这对于一些简单的应用开发非常方便。 5. 统一的日志处理:Spring Boot 集成了 Logback 和 Log4j2 等流行的日志框架,并提供了统一的日志处理接口,可以方便地进行日志的配置和管理。 6. 数据访问:Spring Boot 集成了多种数据库访问框架,如 Spring Data JPA、Spring Data MongoDB、Spring Data Redis 等,可以快速地实现对数据库的操作。 7. Web 开发:Spring Boot 提供了丰富的 Web 开发支持,包括 Web 框架 Spring MVC、Webflux,以及嵌入式 Web 服务器 Tomcat、Undertow 和 Jetty 等。 ### 回答2: Spring Boot是一个基于Spring框架的开发框架,旨在简化Spring应用程序的创建和部署。它提供了一种快速、便捷的方式来构建和配置Spring应用程序,同时集成了常用的第三方库和工具。 Spring Boot的主要内容包括: 1. 自动配置:Spring Boot根据项目的依赖和配置文件自动配置各种组件,大大减少了开发人员的配置工作。它以约定大于配置的方式,提供了默认的配置方案,使得开发人员可以快速搭建一个具备基本功能的Spring应用。 2. 起步依赖:Spring Boot提供了一系列的起步依赖,即已经预先配置好的一组相关依赖库。开发人员只需要选择需要的依赖,Spring Boot就能自动引入这些依赖,并进行适当的配置。这些起步依赖涵盖了常见的开发场景,如Web开发、数据库访问、安全认证等,大大简化了项目的配置和构建。 3. 嵌入式服务器:Spring Boot内置了Tomcat、Jetty等嵌入式服务器,开发人员无需额外配置和部署外部服务器,可以直接通过运行Spring Boot应用来启动嵌入式服务器,简化了项目的部署过程。 4. 简化的配置:Spring Boot使用了一种简化的配置方式,通过application.properties或application.yml文件来配置应用程序的各种参数。这种配置方式不仅易于理解,还支持属性的继承和覆盖,大大提高了配置的灵活性。 5. 安全认证:Spring Boot提供了各种安全认证解决方案,可以方便地实现用户认证、权限控制等功能。它支持基于表单、HTTP基本认证、OAuth2等多种认证方式,开发人员可以根据项目需求选择合适的认证方式。 总之,Spring Boot简化了Spring应用程序的开发和部署过程,提供了自动配置、起步依赖、嵌入式服务器、简化的配置和安全认证等主要内容,帮助开发人员快速构建和运行高效可靠的应用程序。 ### 回答3: Spring Boot是一个开源的JavaEE框架,基于Spring Framework构建,旨在简化Java应用程序的开发和部署。它的主要内容包括以下几个方面: 1. 自动配置:Spring Boot采用了自动配置的方式,根据类路径上的设置和属性,自动配置Spring和第三方库,极大地减少了开发者的配置工作。 2. 起步依赖:Spring Boot提供了一系列的起步依赖,可以简化项目的配置和依赖管理。开发者只需选择所需的依赖,将它们添加到项目中,Spring Boot会自动解决版本冲突和配置问题。 3. 嵌入式容器:Spring Boot集成了多种嵌入式容器(如Tomcat、Jetty),可以将应用程序打包为可执行的JAR文件,无需部署到外部服务器,简化了应用的部署和维护。 4. 简化开发:Spring Boot提供了大量的开箱即用的特性和功能,简化了开发过程。例如,提供了通过注解驱动的Spring MVC开发,可以通过少量的代码实现RESTful接口、Web页面的开发。 5. 监控和管理:Spring Boot提供了丰富的监控和管理特性,可以通过Actuator模块提供的RESTful接口,实时查看应用的运行状态、配置信息和性能指标等。 总之,Spring Boot架构的主要内容是自动配置、起步依赖、嵌入式容器和简化开发等。通过这些特性,开发者可以快速搭建和开发Java应用程序,提高开发效率,减少配置和部署的繁琐工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值