热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RESTful风格的相关讲解

RESTfulRestful是什么?Restful是一种Webapi标准,也就是一种url设计风格规范在前后端分离开发的项目中,前后端之间

RESTful

  • Restful是什么?
      • Restful是一种Web api 标准,也就是一种url设计风格/规范
      • 在前后端分离开发的项目中,前后端之间是通过接口进行请求和响应,后端向前端提供请求时就要对外暴露一个URL;URL的设计不能是随便的,需要遵从一定的设计规范----Restful
    • 规范一:每个URL请求路径代表服务器上的唯一资源
    • 规范二:使用不同的请求方式表示不同的操作
        • 根据ID删除一个商品:
        • 根据ID查询一个商品:
    • 接口响应的资源的表现形式采用JSON(或者XML)
        • 在控制类或者每个接口方法添加 @ResponseBody 注解将返回的对象格式为json
        • 或者直接在控制类使用 @RestController 注解声明控制器
    • 前端(Andriod / ios / pc )通过无状态的HTTP协议与后端接口进行交互




Restful是什么?

Restful是一种Web api 标准,也就是一种url设计风格/规范


在前后端分离开发的项目中,前后端之间是通过接口进行请求和响应,后端向前端提供请求时就要对外暴露一个URL;URL的设计不能是随便的,需要遵从一定的设计规范----Restful




规范一:每个URL请求路径代表服务器上的唯一资源


传统的URL设计:
http://localhost:8080/goods/delete?goodsId=1 商品一
http://localhost:8080/goods/delete?goodsId=2 商品二

Restful设计:
http://localhost:8080/goods/delete/1 商品一
http://localhost:8080/goods/delete/2 商品二

@RequestMapping( "/delete/{gid}")public ResultVO deleteGoods(@PathVariable("gid") int goodsId){System.out.println("---------"+goodsId);return new ResultVO(10000,"delete success",null);}

规范二:使用不同的请求方式表示不同的操作


SpringMVC对Restful风格提供了很好的支持,在我们定义一个接口的URL时,可以通过
@RequestMapping(value = “/add”,method = RequestMethod.POST) 形式指定请求方式,也可以使用指定请求方式的注解设定URL
@PostMapping(“/add”)
@DeleteMapping(“/{id}”)
@PutMapping(“/{id}”)
@GetMapping(“/{id}”)


  • post 添加
  • get 查询
  • put 修改
  • delete 删除
  • option 预检

根据ID删除一个商品:

@DeleteMapping("/{id}")public ResultVO deleteGoods(@PathVariable("id") int goodsId){System.out.println("---------"+goodsId);return new ResultVO(10000,"delete success",null);}

根据ID查询一个商品:

@GetMapping("/{id}")public ResultVO listGoods(@PathVariable("id") int goodsId){return null;}

接口响应的资源的表现形式采用JSON(或者XML)


在控制类或者每个接口方法添加 @ResponseBody 注解将返回的对象格式为json


或者直接在控制类使用 @RestController 注解声明控制器


前端(Andriod / ios / pc )通过无状态的HTTP协议与后端接口进行交互


推荐阅读
author-avatar
wan乄etsnyd
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有