RESTful相关图形

一 需求调研、需求分析(即应用场景)

  1. 接口(大方向,即API)的设计可以更简洁,更有层次
  2. REST :  (英文: Representational State Transfer , 中文: 表现层状态转移)。

二 框架的设计思想

  1. 一种互联网软件架构设计的风格,但它并不是标准。
  2. 它只是提出了一组客户端和服务器交互时的架构理念和设计原则。

三 体系的组织结构设计(重要组件、模块划分、模块间交互)

 http://localhost:8080/myboot/students?page=1&pageSize=20

其中:

        students是资源的名称(资源的名称是一个名词(如student),资源名称来指定要操作的东西是什么)

        page=1&pageSize=20是资源的描述(一般是一些额外的数据,如id等)

四 工作原理、运行流程

1、一句话说明REST: 使用url表示资源 ,使用http动作操作资源。案例:

        比如我们要访问一个 http 接口:http://localhost:8080/boot/order?id=1021&status=1      

        采用 RESTFul 风格则 http 地址为:http://localhost:8080/boot/order/1021/1

 2、具体1:资源使用url表示,通过名词表示资源。

​     在url中,使用名词表示资源, 以及访问资源的信息,  在url中,使用“ / " 分隔对资源的信息

​     http://localhost:8080/myboot/student/1001

3、具体2:使用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

(2)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>

(3)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>

(4)DELETE: 删除资源  -- sql delete

<a href="http://localhost:8080/myboot/student/1">删除1的数据</a>

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

五 详细设计:实现方法(技术)

Spring Boot 开发 RESTful 主要是几个注解实现

  @PathVariable :  从url中获取数据

                              该注解是实现 RESTFul 最主要的一个注解

  @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组合。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值