百度百科上介绍的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); } } |
// 添加商品记录 @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请求:
DELETE请求:
生成记录:
点击Apidoc-->点击Create,就可以为我们生成API文档。
生成的API文档:
生成的API文档会保存在该软件目录下的work/apidoc下。