代码质量提升——Rest风格

前言

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操作,不同请求方式对应着不同的数据操作

猜你喜欢

转载自blog.csdn.net/weixin_49822811/article/details/113833172