代码质量提升??Rest风格

发布时间:2021-09-20 15:34:49

前言
Restful是一种web软件架构风格,它既不是标准也不是协议,它虽然不能提高代码的执行效率,但能使你的代码更加简洁易懂,方便维护。

一、什么是RESTful?

Restful是一种web软件架构风格,它既不是标准也不是协议,用于指导服务器怎么设计一套API(远程方法)用于访问特定资源API,它倡导的是一个资源定位及资源操作的统一风格(这有点类似于生活中上下楼梯靠右行的规矩,它不像交通法规一样需要严格执行,它比较类似于软规则,它不强制你执行,你可以选择不遵守,那么一切都会变得杂乱无章,也可以选择遵守规则,让一切都变得井井有条),


二、Restful的优点

Restful的优点有很多,它结构清晰、符合标准、易于理解、便于维护、方便访问,所以正得到越来越多网站的采用,成为当前主流的风格之一。


三、Restful讲解

很废话不多说牛皮不多扯,上干货!


在没有使用restful风格之前,请求:get、post


CRUD(增删改查):


http://localhost:8080/addorder?name=1 这是查询请求。


http://localhost:8080/deleteorder?name=1 这是删除请求。


http://localhost:8080/updateorder?name=1&pwd=123&uid=21 这是更新请求。


http://localhost:8080/insertorder?name=1 这是添加请求。


使用restful风格,请求:post、delete 、put 、get


CRUD(增删改查):


http://localhost:8080/order?name=1 这可以是任意一种请求。


post ---------------- lnsert --------------------- 新增
delete ------------- delete --------------------- 删除
put ----------------- update -------------------- 修改
get ----------------- select --------------------- 查询


假设有这样一个get请求:
http://localhost:8080/order

后端接口:



/**
* @Author Hai
* @Since Created in 2021/2/17
*/

@Controller
@RequestMapping("/order")
public class OrderController {

//查询
@GetMapping("")
public void getOrder(){
//调用的get请求,那我就进到这里来
//代码块... ... ...
}

}


如果还不够明显,那再来一个post请求:
http://localhost:8080/order

两次不同请求的对比,只是请求方式变了,请求路径是一样的。


再来看看后端接口:



/**
* @Author Hai
* @Since Created in 2021/2/17
*/

@Controller
@RequestMapping("/order")
public class OrderController {

//查询
@GetMapping("")
public void getOrder(){
//如果是get请求,那我就进到这里来
//代码块... ... ...
}

//新增
@PostMapping("")
public void PostOrder(){
//如果是Post请求,那我就进到这里来
//代码块... ... ...
}

}


看出效果来了吗,其实最大的效果在于用户体验方面,无论你进行增删改查任意操作,它请求地址都是一样的(http://localhost:8080/order),相比传统的增删改查分别对应四个不同的请求地址来讲无疑简洁得多,我们只需要区分不同的请求对应不同的请求方法就行了。


使用传统的方式:如果要对一个对象进行一个CRLD操作,User的服务端要进行编写四个url地址。不利于维护


使用restful风格:服务端只需要发布一个user地址,通过不同的请求方式来确定CRUD操作,不同请求方式对应着不同的数据操作

相关文档

  • 美丽的春天作文500字「7篇」
  • 沾连黏随是太极拳的技术核心
  • C语言程序设计(第七章)
  • 【华人学者风采】魏云超 悉尼科技大学
  • 2018.3.14结婚怎么样
  • 去狐臭的偏方有哪些
  • 平行志愿为何只提高高分生录取率?
  • 天使的爱(转载)
  • 【mybatis3】调试/断点打印日志
  • Android中ActivityManager学习笔记(3)
  • 中外合作经营企业合同
  • MATLAB将mif文件转换成coe文件(原创)
  • 从塞上明珠到科创新城 榆林数字经济的“速度与激情”
  • 老婆嫌我鸡把小怎么办
  • 六一升旗仪式校长讲话
  • 高层楼房空调设计
  • 梦与想_高三作文
  • 毕业生销售简历模板
  • 耽美小说小受是直男学画画攻是受同学画了一本受的裸体趁受睡着
  • 被收手机的检讨书1000字
  • 冬帽的儿童画绘画教程
  • 2021年春运时期疫情防控会严吗 2021春运防疫会更严格吗
  • 我的学习笔记~自学安卓(六):org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed;
  • 孤独散文随笔
  • pandas不能在pycharm中使用plot()方法显示图像的解决方法
  • windows下运行脚本
  • 无线蓝牙怎么用
  • 小学数学教育心得体会
  • python 爬虫教学_Python3爬虫及可视化数据分析系列图文教程??大纲目录
  • PCL点云压缩的,--自己输入点云
  • 猜你喜欢

  • 基于韩流现象的服装品牌评价体系的研究
  • java.sql.SQLException: Access denied for user 'Administrator'@'localhost'
  • 初中作文指导:让人物活起来——人物描写方法训练ppt
  • 我国高校后勤改革的制度变迁
  • Book3 Unit1 Using language学案
  • 九年级英语下册 Module 5 Rules and suggestions学习方案(无答案) 外研版
  • 写一篇发言稿
  • 人才800字高一作文
  • 台湾金融控股公司发展模式及借鉴
  • Python离线安装future模块
  • 正月十五观花灯作文
  • [精品文表]二次结构安全技术交底表格
  • 大学生就业推荐表自我评价
  • 殡葬领域突出问题专项整治行动工作方案
  • 王艳青推荐练*题:反问、转述句、双重否定句
  • 男性龟头炎一般多久能消
  • 教育最新2017_2018学年高中政治第二单元为人民服务的政府单元检测新人教版必修2
  • 徐闻县旺利经济发展有限公司企业信用报告-天眼查
  • 部编人教版八年级历史上册期末历史线索复*课件共17张PPT
  • 辨识度
  • 消夏晚会主持词结束语
  • 钉钉app怎么设置钉钉号? 钉钉号的设置方法
  • 2017-2023年中国及全球疏散灯行业市场发展战略分析及投资前景专项预测报告(目录)
  • 《蟋蟀的住宅 》的教学随笔
  • 吃什么食物清肺润肺,吃什么食物清肺,吃什么清肺排毒
  • 孕妇梦见来大姨妈什么意思
  • 远方,风雨兼程作文800字
  • 【会计实操经验】浅析财务预算管理在企业中的重要作用
  • 如何听课评课的复*提纲
  • 廉洁教育中的大学生诚信教育探索
  • 烟台诚鑫二手车交易中心有限公司企业信用报告-天眼查
  • 小学体育教学与儿童心理健康
  • 六年级2017届数学下册单元测试题9(沪教版)(数学(上)第一章_数的整除)
  • 文化认同与和谐社会建设
  • 五年级英语Unit4 When is Easter 优质课公开课课件 (2)
  • 2018最新-呼和浩特职业学院毕业论文学术答辩与开题报告课题研究项目汇报【漂亮模版幻灯片PPT】
  • 洪洞县建筑勘探设计室企业信用报告-天眼查
  • 黄昏路上金色的城堡——宁夏灵武横城堡
  • (小学教育)2019年六年级下册品社期末试卷
  • 2018-2019年内蒙古欧亚职业技术学校三年级上册科学模拟复习题无答案(1)
  • 废水中有机污染物高级氧化过程的降解
  • 人教版2019-2020年度九年级上学期期中数学试题A卷(检测)
  • 电脑版