关于RestFul的详细介绍

    百度百科上介绍的Rest如下:Rest(Representational State Transfer表象性状态转变)。Rest是Web服务的一种架构风格。使用Http,URI,XML,JSON,HTML等广泛流行的标准和协议的轻量级、跨平台、跨语言的架构设计。它是一种设计风格、设计思想,不是一种标准。

Rest架构的主要原则:

    1,网络上的所有事物都被抽象为资源。

    2,每个资源都有一个唯一的资源标识符。

    3,每一个资源具有多种表现形式。

    4,对资源的各种操作不会改变资源标识符。

    5,所有的操作都是无状态的。

    6,符合Rest原则的架构方式可以称为RestFul。

RestFul风格API格式

未使用RestFul之前的URL:

http://127.0.0.1:8080/product/query/1        GET请求           根据商品Id查询商品信息

http://127.0.0.1:8080/product/save              POST请求        添加商品记录

http://127.0.0.1:8080/product/update          POST请求        修改商品记录

http://127.0.0.1:8080/product/delete/1        GET请求           根据商品Id删除商品信息

使用RestFul之后的URL:

http://127.0.0.1:8080/product/1      GET请求            根据商品Id查询商品信息

http://127.0.0.1:8080/product          POST请求          添加商品记录

http://127.0.0.1:8080/product          PUT请求            修改商品记录

http://127.0.0.1:8080/product          DELETE请求       删除商品记录

接下来我们重点来看一下如何准确的去使用RestFul。

RestFul的具体实现

GET请求:

// 根据商品编号查询商品信息  
@RequestMapping(value="/{sn}",method=RequestMethod.GET)
@ResponseBody
public ResponseEntity<List<Product>> queryProductById(
@PathVariable("sn") String prodSn){


// 查询该商品编号的商品数据
List<Product> list = productservice.getProductList(
prodSn, null, null, null, null, null, null, null, null, null);


// 判断商品数据是否存在
if( list == null || list.size() == 0 ) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
}else {
return ResponseEntity.ok(list);
}
}
POST请求:

// 添加商品记录
@RequestMapping(value= {""},method=RequestMethod.POST)
public ResponseEntity<Void> addProduct(

@RequestBody Product product ){


// 添加商品数据记录
productservice.addProduct(product);

return ResponseEntity.status(HttpStatus.NO_CONTENT).build();


}

PUT请求:

// 修改商品记录
@RequestMapping(value= {""},method=RequestMethod.PUT)
public ResponseEntity<Void> updateProduct(
@RequestBody Product product ){


// 修改商品数据记录
productservice.updateProduct(product);
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}

DELETE请求:

// 根据商品编号删除商品记录  
@RequestMapping(value="/{prodId}",method=RequestMethod.DELETE)
@ResponseBody
public ResponseEntity<Void> deleteProduct(
@PathVariable("prodId")Integer prodId){


// 删除商品数据记录
productservice.deleteProduct(prodId);
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}

API接口文档的制作

我们可以采用rest-client-master来进行管理。使用前提:电脑中安装java运行环境jre。

GET请求:


返回结果:


POST请求:


PUT请求:

DELETE请求:


生成记录:

 点击Apidoc-->点击Create,就可以为我们生成API文档。


  生成的API文档:


生成的API文档会保存在该软件目录下的work/apidoc下。

猜你喜欢

转载自blog.csdn.net/fawn_stone/article/details/80928403