SpringBoot【知识加油站】---- REST开发

news2024/11/16 3:21:40

SpringBoot【知识加油站】---- REST开发

  • 1. REST 简介
  • 2. REST 风格
  • 3. RESTful 入门案例

1. REST 简介

REST:Representaional State Transfer,表现形式状态转换

  • 传统风格资源描述形式
    http://localhost/user/getById?id=1
    http://localhost/user/saveUser
  • REST 风格描述形式
    http://localhost/user/1
    http://localhost/user/

优点

  • 隐藏资源的访问行为,无法通过地址得知对资源是何种操作
  • 书写简化

2. REST 风格

按照 REST 风格访问资源时使用行为动作区分对资源进行了何种操作

  • http://localhost/users 查询全部用户信息 GET(查询)
  • http://localhost/users/1 查询指定用户信息 GET(查询)
  • http://localhost/users 添加用户信息 POST(新增、保存)
  • http://localhost/users 修改用户信息 PUT(修改、更新)
  • http://localhost/users/1 删除用户信息 DELETE(删除)

根据 REST 风格对资源进行访问称为 RESTFUL

3. RESTful 入门案例

  1. 设定 http 请求动作(动词)
    在这里插入图片描述

  2. 设定请求参数(路径变量)
    在这里插入图片描述

入门案例1

  • 名称:@RequestMapping

  • 类型:方法注解

  • 位置:SpringMVC 控制器定义上方

  • 作用:设置当前控制器方法请求路径

  • 范例:
    在这里插入图片描述

  • 属性

    • value(默认):请求访问路径
    • method:http 请求动作,标准动作(GET/POST/PUT/DELETE)

入门案例2

  • 名称:@PathVariable
  • 类型:形参注解
  • 位置:SpringMVC 控制器方法形参定义前面
  • 作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应
  • 范例:
    在这里插入图片描述

@RequestBody、@RequestParam、@PathVariable

  • 区别
    • @RequestParam 用于接收 url 地址传参或表单传参
    • @RequestBody 用于接收 json 数据
    • @PathVariable 用于接收路径参数,使用 {参数名称} 描述路径参数
  • 应用
    • 后期开发中,发送请求参数超过 1 个时,以 json 格式为主,@RequestBody 应用较广
    • 如果发送非 json 格式数据,选用 @RequestParam 接收请求参数
    • 采用 RESTful 进行开发,当参数数量较少时,例如 1 个,可以采用 @PathVariable 接收请求路径变量,通常用于传递 id 值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/399446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

91. 解码方法 ——【Leetcode每日刷题】

91. 解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : ‘A’ -> “1” ‘B’ -> “2” … ‘Z’ -> “26” 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法&#xff0…

Kubernetes13:Ingress

Kubernetes13:Ingress 1、把端口号对外暴露,通过ip端口号进行访问 使用Service里面的NodePort实现(Cluster、LoadBanlancer、NodePort) 2、NodePort缺陷 在每个节点上启动一个端口,在访问时候通过任何节点&#xf…

MySQL(五)锁

锁全局锁表级锁表锁元数据锁意向锁行级锁行锁间隙锁&临键锁总结计算机用锁来协调多个进程或线程并发访问某一资源。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并…

业务流程图TFD和数据流程图DFD例题

业务流程图(TFD)管理业务流程图(Transaction Flow Diagram,简称TFD)用来描述系统各部门、人员之间存在的业务关系、作业顺序以及管理信息流向的图表。绘制该图使用以下四种符号:例题例题1:物资订…

【Unity逆向】玩游戏遇到的“飞天锁血”是怎么实现的?

文章目录前言什么是外挂?锁血瞬移都是怎么做的?Unity引擎的致命缺陷是什么?WEB入侵如何做到?Unity外挂攻防概述典型游戏现实应用Unity开发流程Unity工作界面打包发布方式MonoMono跨平台原理JIT方式优点:因此后期Unity发…

【数据分析师求职面试指南】实战技能部分

文章目录必备技能数据人员如何创造价值完整的指标体系构建数据监控集报表设计设计一份优质的数据分析报告基于互联网大数据的应用A B 测试用户画像完整的数据挖掘项目流程1. ​分析问题,明确目标2.模型可行性分析3.选取模型4.选择变量5.特征工程6.建立模型&效果…

大数据项目实战之数据仓库:用户行为采集平台——第4章 用户行为数据采集模块

第4章 用户行为数据采集模块 4.1 数据通道 4.2 环境准备 4.2.1 集群所有进程查看脚本 1)在/home/atguigu/bin目录下创建脚本xcall [atguiguhadoop102 bin]$ vim xcall2)在脚本中编写如下内容 #! /bin/bashfor i in hadoop102 hadoop103 hadoop104 d…

判断推理之类比推理与定义判断

考点一包含关系(一)种属关系快速判定方法:XX是一种XX。(可以用“是”来造句子)如:苹果:水果;老虎:哺乳动物(二)组成关系快速判定方法:A是B的一部分。(不可以用…

支持向量回归删除异常值Python

1、支持向量回归(SVR)原理 支持向量回归(Support Vector Regression,SVR)不仅可以用于预测,还可以用于异常值检测。其基本思路是训练一个回归模型,通过对每个数据点进行预测,并计算…

基于Transformer的目标检测算法学习记录

前言 本文主要通过阅读相关论文了解当前Transformer在目标检测领域的应用与发展。 谷歌在 ICLR2020 上提出的 ViT(Vision Transformer)是将 Transformer 应用在视觉领域的先驱。从此,打开了Transformer进入CV领域的桥梁,NLP与CV几…

软件测试11

一 Linux命令的基本格式 格式组成:命令主体 -命令选项 命令参数 常见命令形式: (1)命令主体 (2)命令主体 -命令选项 (3)命令主体 参数 (4)命令主体 -命令选项…

深入分析@Bean源码

文章目录一、源码时序图二、源码解析1. 运行案例程序启动类2. 解析AnnotationConfigApplicationContext类的AnnotationConfigApplicationContext(Class<?>... componentClasses)构造方法3. 解析AbstractApplicationContext类的refresh()方法4. 解析AbstractApplicationC…

MOV压敏电阻的几种电路元件功能及不同优势讲解

压敏电阻&#xff0c;通常是电路为防护浪涌冲击电压而使用的一种电子元器件&#xff0c;相比其他的浪涌保护器来说&#xff0c;也有那么几个不一样的优势&#xff0c;那么&#xff0c;具体有哪些&#xff1f;以及关于它的作用&#xff0c;你都知道吗&#xff1f;以下优恩小编为…

【python游戏制作】快来跟愤怒的小鸟一起攻击肥猪们的堡垒吧

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 为了防止/报复偷走鸟蛋的肥猪们&#xff0c;鸟儿以自己的身体为武器&#xff0c; 仿佛炮弹一样去攻击肥猪们的堡垒&#xff0c;保卫自己的鸟蛋 这个游戏大家没玩过的想必也听说过~ 今天就给大家分享一下用python写的愤怒的…

2023年3月份的野兔在线工具系统版本更新

这个是野兔在线工具系统中文版更新&#xff0c;这次更新的功能&#xff0c;和修改的问题还是比较多的&#xff0c;也修复系统部分功能&#xff0c;应该也是目前市面上在线工具比较多的一个系统了。系统名称&#xff1a;野兔在线工具系统系统语言&#xff1a;中文版系统源码&…

做自动化测试选择Python还是Java?

今天&#xff0c;我们来聊一聊测试人员想要进阶&#xff0c;想要做自动化测试&#xff0c;甚至测试开发&#xff0c;如何选择编程语言 前言 自动化测试&#xff0c;这几年行业内的热词&#xff0c;也是测试人员进阶的必备技能&#xff0c;更是软件测试未来发展的趋势。特别是…

【C语言】每日刷题 —— 牛客(2)

前言 大家好&#xff0c;继续更新专栏c_牛客&#xff0c;不出意外的话每天更新十道题&#xff0c;难度也是从易到难&#xff0c;自己复习的同时也希望能帮助到大家&#xff0c;题目答案会根据我所学到的知识提供最优解。 &#x1f3e1;个人主页&#xff1a;悲伤的猪大肠9的博客…

Hibernate学习(一)

Hibernate学习&#xff08;一&#xff09; Hibernate框架的概述&#xff1a; 一&#xff1a;什么是框架&#xff1a;指软件的半成品&#xff0c;已经完成了部分功能。 二&#xff1a;EE的三层架构&#xff1a; 1.EE的三层经典架构&#xff1a; 我在这里主要学的是ssh框架。 三…

Rcpp cannot convert ‘SEXP‘ {aka ‘SEXPREC*‘} to ‘###‘ in return

Rcpp cannot convert SEXP {aka SEXPREC*} to *** in return引言代码说明报错代码两种修改方法代码1代码2引言 Rcpp在使用的过程中可以访问R本地的一些函数&#xff0c;可以帮助我们更高效的进行计算. Rcpp::Environment global Rcpp::Environment::global_env(); 可以在Rcpp…

【CSS】CSS 背景设置 ① ( 背景颜色 | 背景图片 | 背景平铺 )

文章目录一、背景颜色1、语法说明2、代码示例二、背景图片1、语法说明2、代码示例三、背景平铺一、背景颜色 1、语法说明 CSS 的背景颜色样式语法 : 默认的背景颜色是 transparent 透明 ; background-color:颜色值;background-color 属性 可以 定义 文本颜色 , 其颜色值有三种…