内容简介:现如今微服务如日中天,那么大家有没有想过各个微服务之间是怎么调用数据亦或是怎么交互的呢?当然方式有很多,但今天所说的REST风格被业界推荐为微服务之间交互的首选方式(小编还是非常喜欢这种方式的)。废话不多讲,下面就说说REST风格到底是个神马东东。--读《深入浅出 Sping Boot》有感REST(Representational State Transfer)又被唤作表现层状态转换。它涉及到三个重要名词:在做这个之前有必要清楚Http协议的7种常用动作:GET、POST、PUT、PATCH、DELETE
现如今微服务如日中天,那么大家有没有想过各个微服务之间是怎么调用数据亦或是怎么交互的呢?当然方式有很多,但今天所说的REST风格被业界推荐为微服务之间交互的首选方式(小编还是非常喜欢这种方式的)。废话不多讲,下面就说说REST风格到底是个神马东东。--读《深入浅出 Sping Boot》有感
REST简介
REST(Representational State Transfer)又被唤作表现层状态转换。它涉及到三个重要名词:
-
资源
所谓资源简单讲就是服务所能提供的数据,可以是实体数据也可是媒体类型,图片、PDF、文本等 -
表现层
何为变现层?简单说就是将数据以某种方式展现给用户,或者给客户返回一张图片等等动作称之为表现,通常是已JSON或XML形式展现数据 -
状态转换
状态转换就是对数据进行一系列的操作,因为资源本身并非一尘不变,随着需求的变化而变化。一个资源可能会随着需求的变化而经历一个资源创建、修改、查询、删除等过程,REST风格正是基于HTTP协议运行的,HTTP协议又被称为无状态协议,所以资源的变化需要在服务端完成。
REST风格之RUI设计
在做这个之前有必要清楚Http协议的7种常用动作:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS
# 以id为编码 获取商品信息
GET /goods/1
# 获取多个商品信息
GET /goods/{goodName}/{note}
# 创建商品信息
POST /goods/{goodName}/{price}/{note}
# 修改商品信息
PUT /goods/{goodName}/{price}/{note}
# 修改商品部分
PATCH /goods/{goodName}/{note}
# 删除某个商品信息
DELETE /goods/2
REST风格端点
# 创建一个商品实体类
public class goods{
private Long id;
private String goodsName;
private Double price;
private String note;
public Long getId(){
return id;
}
public void setId(Long id){
this.id = id;
}
public String getGoodsName(){
return goodsName;
}
public void setGoodsName(String goodsName){
this.goodsName = goodsName;
}
public Double getPrice(){
return price;
}
public void setPrice(Double price){
this.price = price;
}
public String getNote(){
return note;
}
public void setNote(String note){
this.note = note;
}
}
# 控制器
@Controller
public class GoodsController{
/**
*REST风格 获取商品的GET请求方式
**/
@GetMapping(value="/goods/{id}")
@ResponseBody
public Goods getGoods(@Pathvariable("id") Long id){
Goods goods = goodsService.getGoods(id);
return goods;
}
/**
*REST风格 PUT请求修改商品信息
**/
@GetMapping(value="/goods/{id}")
@ResponseBody
public Goods getGoods(@Pathvariable("id") Long id,@RequestBody Goods goods){
Goods goods = goodsService.getGoods(id);
goods.setId(id);
goodsService.update(goods);
return goods;
}
/**
*REST风格 使用HTTP的DELETE请求删除商品信息
**/
@GetMapping(value="/goods/{id}")
@ResponseBody
public String getGoods(@Pathvariable("id") Long id){
int status = goodsService.deleteGoods(id);
String result = "";
if(status=0){
result = "操作成功";
}else{
result = "操作失败";
}
return result;
}
}
以上是我对REST风格的简单认识,希望能给您提供些许帮助!谢谢支持!!2019-03-27 23:30:34 星期三
以上所述就是小编给大家介绍的《浅谈REST风格》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法交易:制胜策略与原理
[美]欧内斯特·陈(Ernest P. Chan) / 高闻酉、黄蕊 / 机械工业出版社 / 49.00
本书是一本引人入胜、信息量大、覆盖各类交易策略的图书。无论个人投资者,还是机构投资者,都可以借鉴和使用其中的策略。本书中的策略大致可分为均值回归系统和动量系统两大类。书中不仅介绍了如何使用每种类别的交易策略,更解释了各种策略之所以有效的原因。本书始终以简单、线性的交易策略为重心,因为复杂的交易策略容易受到过度拟合及数据窥探的侵害。数学和软件是算法交易的两条腿。本书用到了一定程度的数学知识,使其对各......一起来看看 《算法交易:制胜策略与原理》 这本书的介绍吧!