使用RESTful建议

RESTful:简单理解为客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

(据说,个人未测试)使用RESTful风格后:有的小程序不支持del协议;有的RESTful和目录冲突;有的防火墙不支持RESTful的全部协议;有的统计系统不支持RESTful的全部协议;使用RESTful后效率变低;RESTful导致转移配置更复杂,映射配置更复杂;有的大公司防火墙做了安全配置,如内网访问外网,不支持PUT、DELETE(以前的WEB并没有使用PUT、DELETE,而是后来RESTful重新定义了这两个新操作方式的动词,老设备可能并没有对这两个动作做审核设计,所以直接禁用了),对GET、POST支持是100%

如果是这样的话,使用RESTful没解决什么问题,反而导致写代码复杂度上升!客户调用也会增加技术支持的成本!而GET、POST最常用,不论水平高低,调用GET、POST都没有压力,所以用GET、POST(POST比GET更安全)是非常保险的,会避免很多不必要的麻烦。

个人使用建议(取其精华弃其糟粕):(只用Get和Post)幂等用GET,非幂等用POST~
幂等:一次或多次操作,返回的结果都相同,不会修改数据(查);
非幂等:每次操作,都会修改数据(增删改);

### 使用Restful API进行开发 #### Flask-RESTful框架简介 为了简化Web服务端的开发过程,开发者可以利用Python中的`Flask-RESTful`库来快速搭建RESTful API服务器。该库建立在轻量级Werkzeug工具包和Jinja2模板引擎之上,并且内置了许多实用的功能,使得创建API更加便捷高效[^1]。 #### 创建简单的RESTful应用实例 下面是一个基于Flask-RESTful实现的基础示例: ```python from flask import Flask, request from flask_restful import Api, Resource app = Flask(__name__) api = Api(app) class HelloWorld(Resource): def get(self): # GET请求处理函数 return {'hello': 'world'} def post(self): # POST请求处理函数 data = request.get_json() return {"received": data}, 201 # 将资源添加到路由中 api.add_resource(HelloWorld, '/') if __name__ == '__main__': app.run(debug=True) ``` 这段代码展示了如何定义一个名为`HelloWorld`的类继承自`Resource`基类,并实现了GET和POST两种HTTP方法对应的处理器。通过调用`add_resource()`方法注册这个资源及其URL路径,最后启动了一个本地运行的服务监听来自客户端的连接尝试。 #### 测试与验证 考虑到RESTful API的特点,在实际项目里应当重视持续集成下的自动化测试环节。对于上述例子而言,可以通过发送不同类型的HTTP请求来进行基本功能性的检验;而对于更复杂的应用场景,则建议采用单元测试框架配合模拟对象(Mock Object)技术完成更为严格的品质把控工作[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值