当前位置: 首页 > news >正文

Restful 风格

目录

  • Restful风格
    • 创建springboot项目
      • SpringMVC开发Restful接口
      • 1、获取所有的员工
        • 思路
        • 代码
        • @RequestMapping
        • @GetMapping
      • 2、获取单个员工
        • 思路
        • 代码
        • 注意:
      • 3、删除员工数据
        • 思路:
        • 代码
          • 单个删除
          • 批量删除
      • 4、更新员工数据
        • 思路:
      • 5、jQuery发送请求
        • 发送delete请求
        • 发送get请求
        • 发送put请求
      • 6、响应状态码修改
      • 7、@RequestMapping
        • params
        • params有 = 和 != 的判断
        • headers

Restful风格

创建springboot项目

在这里插入图片描述

SpringMVC开发Restful接口

需求:用【restful】接口

1、获取所有的员工

思路
-设计资源路径 uri  /employees-设计请求动作  get-设计请求参数(业务) 无-设计返回结果json   List<Employee>
代码

创建个员工类 Employee

在这里插入图片描述
使用Postman测试:

两个路径相同就会报错

如图可以在postman选择get的方式访问,不会报错是因为路径只有一个get

@RequestMapping

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

@GetMapping

在这里插入图片描述

2、获取单个员工

思路

1、设计资源路径 /employees/{id} {id}叫做路径占位符

2、设计请求动作 get

3、设计请求参数(业务) 接收id(id来自路径里面,?前面)

之前的 js 是来自 (localhost/employees?id = xxx) ?问号之后的

现在是 localhost/employees/id = xxx

4、设计返回结果json employee

代码

@PathVariable 告诉springmvc 去路径上找当前名称的参数,对应的占位符的位置,

把参数值设置到形参上

有贴@PathVariable这个注解才有值,没贴的话默认是从 路径的?问号后面找id参数,就会是null

这种  http://localhost:8080/employees/211   类型的传参就是RestFul风格跟之前的区别就是一个是路径传参(Restful风格),一个是?id=1,这种问号后面传参(旧方式)

在这里插入图片描述

没贴@PathVariable注解

在这里插入图片描述

注意:

在这里插入图片描述
不一致,如图

在这里插入图片描述

参数和路径名称不一致时的获取数据的方法。

在这里插入图片描述

有多个参数的话,有几个名称不一样的,就要贴几个这个注解

在这里插入图片描述
在这里插入图片描述

也可以在工具里面测试

在这里插入图片描述

3、删除员工数据

思路:

设计资源路径 uri /employees/{id} 路径占位符

设计请求动作 delete

设计请求参数(业务) 接收id(来自路径里面,?前面)

设计返回结果 json void 按官方文档,返回的是空文档

代码
单个删除

在这里插入图片描述

批量删除

在这里插入图片描述

4、更新员工数据

思路:

设计资源路径 uri /employees/{id} 路径占位符

设计请求动作 put

设计请求参数(业务) 接收id(来自路径里面,?前面),其余参数可以来自body请求体

设计返回结果 json Employee

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、jQuery发送请求

发送delete请求

在这里插入图片描述

发送get请求

这个【发送delete删除请求】没改动,证明只改动了type这个发送类型,就能根据发送类型和路径上的参数找到对应的方法

在这里插入图片描述

发送put请求

这个【发送delete删除请求】没改动,证明只改动了type这个发送类型,就能根据发送类型和路径上的参数找到对应的方法

在这里插入图片描述

6、响应状态码修改

在这里插入图片描述

在这里插入图片描述

比如删除成功后,我想让系统响应的状态码为 204,表示返回的内容为空的意思

在这里插入图片描述

成功修改成204的响应状态码
在这里插入图片描述

7、@RequestMapping

在这里插入图片描述

params

注解带上这个参数,那么在访问该方法的时候,就要带上这个参数

在这里插入图片描述

比如两个同样是delete的方法,都是要id作为参数,如果没有这个params作为区别的话,连编译都编译不了

在这里插入图片描述

删除多个
在这里插入图片描述

删除一个
在这里插入图片描述

在这里插入图片描述

params有 = 和 != 的判断

在这里插入图片描述

在这里插入图片描述

参数条件满足多个方法,直接报错

在这里插入图片描述

在这里插入图片描述

headers

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/197176.html

相关文章:

  • LLM 系列 | 21 : Code Llama实战(上篇) : 模型简介与评测
  • 积分球荧光光谱测试光电检测方式有哪些优点?
  • 软考考试时间已出!采用连考形式!
  • 深入理解强化学习——学习(Learning)、规划(Planning)、探索(Exploration)和利用(Exploitation)
  • 大模型LLM相关面试题整理-训练集-训练经验-微调
  • qt 实现pdf阅读器
  • 从培训班出来之后找工作的经历,教会了我五件事.....
  • idea中还原dont ask again
  • Unity之ShaderGraph如何实现光边溶解
  • Go语言和Python语言哪个比较好?
  • MAYA教程之模型的UV拆分与材质介绍
  • vscode调试container(进行rocksdb调试)
  • 从恐怖到商机:2023万圣节跨境电商如何打造鬼魅消费体验?
  • 修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库,k8s)
  • 从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0
  • 颠覆传统有线通讯,虹科IO-Link wireless解决方案让智能机床的旋转部件实现可靠低延迟无线通信
  • 链表 oj2 (7.31)
  • python案例:六大主流小说平台小说下载
  • 前端已死!转行网络安全,挖漏洞真香!
  • 【AI】了解人工智能、机器学习、神经网络、深度学习
  • 【Axure高保真原型】3D柱状图_中继器版
  • 【word技巧】word页眉,如何禁止他人修改?
  • Python 机器学习入门之逻辑回归
  • 现货白银赚钱有风险吗?
  • Debian衍生桌面项目SpiralLinux12.231001发布
  • 元宇宙在技术大爆炸时代迎来链游新世界
  • 9中间件-Redis、MQ---进阶
  • JVM(Java Virtual Machine)内存模型篇
  • 对地址解析协议ARP进一步探讨
  • java:java.util.StringTokenizer实现字符串切割