REST风格

REST 是一种软件架构风格,其本身是围绕HTTP的URI资源进行约束。

  • URI 中不能有动词,因为 URI 本身是资源的表示,所以网址中不能有动词,只能由名词,动词由 HTTP 协议中的操作:GETPOSEPUTDELETE 四种方法表示。
  • 如果有自定以的状态码,由于 REST 本身是根据 HTTP 协议进行规范的,所以尽量使用 HTTP 协议的状态码。
    • 200:OK 请求响应成功,服务器返回数据,该操作是幂等的
    • 201:CREATED 新建或者修改数据成功
    • 204:NOT CONTENT 删除数据成功
    • 400:BAD REQUEST 用户发出的请求有问题,该操作是幂等的
    • 401:Unauthoried 表示用户没有认证,无法进行操作
    • 403:Forbidden 用户访问是被禁止的
    • 404:Not Found 请求资源不存在
    • 422:Unprocesable Entity 当创建一个对象时,发生一个验证错误
    • 500:INTERNAL SERVER ERROR 服务器内部错误,用户无法判断请求是否成功
    • 503:Service Unavailable 服务器不可用状态,多半是服务器问题,例如CPU占用率打等。

风格差别:

  • 普通写法:http://localhost:6666/项目名/product/load?id=12345

  • REST风格:http://localhost:6666/项目名/product/load/12345

REST风格的使用:

@RequestMapping(value="/{id}" RequestMethod="Get")
public String getId(@PathVariable("id") Integer id){System.out.println("id");return "XXX";
}

springboot下REST风格:

springboot 中将属性 RequestMethodMapping 整合起来形成新的标签,简化使用

@GetMapping(value="/{id}")
public String getId(@PathVariable("id") Integer id){System.out.println("id");return "XXX";
}

RESTCURD

普通CRUD RestfulCRUD 操作
查询 getEmp emp----GET 获取资源
添加 addEmp?xxx emp----POST 新建资源
修改 updateEmp?id=xxx&xxx=xx emp/{id}----PUT 更新资源(向服务器提供需要改变的资源的所有信息)
删除 deleteEmp?id=1 emp/{id}----DELETE 删除资源

简单理解REST风格相关推荐

  1. 简单理解Pix2Pix

    论文名:Image-to-Image Translation with Conditional Adversarial Networks 论文地址:https://arxiv.org/abs/1611 ...

  2. 互联网协议-简单理解和介绍

    概念:互联网实现过程中大家都需要遵循的准则,我们称之为协议. 前提概要: 我们知道当我们访问互联网是,是在浏览器的导航栏输入一个网址,http://www.baidu.com/ 而一个网址对应的是一个 ...

  3. restapi是什么意思_简单理解什么是REST和RESTful

    简单理解一 就是用URL定位资源,用HTTP描述操作. 简单理解二 URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作. 官方定义 一种软件架构风格.设计风格,而不是标 ...

  4. 简单介绍RESTful风格

    文章目录 前言 一.RESTful风格是什么? 二.搭建环境: 1. get.html 2. post.html 3. Controller.java 三.@PathVariable简单介绍 前言 学 ...

  5. 【深度学习入门基础】二、简单理解 Transformer

    [深度学习入门基础]二.简单理解 Transformer 文章目录 [深度学习入门基础]二.简单理解 Transformer 自注意力层 多头注意力 Transformer 输入(输出)嵌入 位置编码 ...

  6. android 点击事件消费,Android View事件分发和消费源码简单理解

    Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...

  7. 【转载】Deep learning:十九(RBM简单理解)

    Deep learning:十九(RBM简单理解) 这篇博客主要用来简单介绍下RBM网络,因为deep learning中的一个重要网络结构DBN就可以由RBM网络叠加而成,所以对RBM的理解有利于我 ...

  8. 学习:双机热备、集群、负载均衡、SQL故障转移群集简单理解(转)

    双机热备.集群.负载均衡.SQL故障转移群集简单理解平常,大家常提到几个技术名词:双机热备.集群.负载均衡.SQL故障转移群集.这里,就我的理解,和大家简单探讨下,有不足或错误之处还请各位指出! 这些 ...

  9. 字符串匹配算法Java_如何简单理解字符串匹配算法?

    这篇文章来说说如何简单理解KMP,BM算法.之前看过一些文章说,KMP算法很难理解. 可我并不觉得. 我反而觉得它容易理解.平时我们写java代码的时候, 判断一个字符串是否存在包含另一个字符串都是直 ...

最新文章

  1. 【Spring Web MVC】Spring Web MVC 注解开发环境搭建
  2. Oracle PLSQL 导出数据table xx contains one or more CLOB columns 解决方案
  3. webservice客户端开发
  4. 动手实现Kotlin协程同步切换线程,以及Kotlin协程是如何实现线程切换的
  5. HTML中的列表和表格
  6. 【转】如何设计动态(不定)字段的产品数据库表?
  7. [C++调试笔记]求电势posi.cpp
  8. mybatis学习(2):基本设置和核心配置
  9. 在拦截器里放入参数 controller_程序员云旅游:10分钟带你走完SpringMVC里一次HTTP请求处理之路...
  10. JAVA day08 接口(interface),多态,instanceof
  11. day③:函数式编程
  12. 解析服务器响应的xml数据包,解析XML/JSON数据
  13. 【Love2d从青铜到王者】第十一篇:Love2d之图像(Images)
  14. 前端学习路线(详细)
  15. 微信小程序时间轴demo_微信小程序时间轴实现方法示例
  16. 程序员值得关注的微信公众号
  17. Python认证现已生效,并且其他freeCodeCamp 7.0版课程更新
  18. 谷歌浏览器获取摄像头
  19. kali利用MSF对ms17_010漏洞入侵win7
  20. 支付宝芝麻分701,花呗借呗额度提升明显,网友:三年没涨一分

热门文章

  1. 教学质量分析系统 php,教学质量分析系统
  2. 第1篇:JVM运行原理
  3. Python bytes 反斜杠转义问题解决方法
  4. 【树上算法】最近公共祖先(LCA)
  5. 快应用消息推送push服务端开发
  6. Lombok插件讲解
  7. 关于element-ui中el-table组件的序号问题?
  8. Struts2项目实战 微云盘(一):项目分析
  9. 像素大厨PxCook for Mac(自动标注切图工具)中文免费版
  10. 秋招笔试题(其一)华为笔试岛屿水沟最长路径