电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

瀏覽:55日期:2022-07-30 10:15:45

理解

每一個(gè)URL代表一種資源 客戶端和服務(wù)端之間,傳遞這種資源的某種表現(xiàn)層,客戶端通過(guò)四個(gè)HTTP動(dòng)詞 對(duì)服務(wù)端資源進(jìn)行操作,實(shí)現(xiàn)“表現(xiàn)層狀態(tài)轉(zhuǎn)化” 資源:網(wǎng)絡(luò)的具體信息,如圖片、文字等 表現(xiàn)層:'資源'是一種信息實(shí)體,它可以有多種外在表現(xiàn)形式。我們把'資源'具體呈現(xiàn)出來(lái)的形式,如,文本可以用txt格式表現(xiàn),也可以用HTML格式、XML格式、JSON格式表現(xiàn) 狀態(tài)轉(zhuǎn)化:訪問(wèn)一個(gè)網(wǎng)站,就代表了客戶端和服務(wù)器的一個(gè)互動(dòng)過(guò)程。在這個(gè)過(guò)程中,勢(shì)必涉及到數(shù)據(jù)和狀態(tài)的變化。 4個(gè)HTTP動(dòng)詞:GET用來(lái)獲取資源,POST用來(lái)新建資源(也可以用于更新資源),PUT用來(lái)更新資源,DELETE用來(lái)刪除資源。

安裝 flask restful

1.cmd輸入:pip install flask,安裝flask

2.cmd輸入:pip install flask-restful,安裝flask-restful

安裝過(guò)程中會(huì)出現(xiàn)如下報(bào)錯(cuò):

You are using pip version 9.0.1, however version 19.2.3 is available. You should consider upgrading via the ’python -m pip install --upgrade pip’ comm and.

解決方法

升級(jí)pip python -m pip install --upgrade pip

注意:某些Flask版本下,引入模塊時(shí)采用from flask.ext.restful import Api出錯(cuò),則可以使用from flask_restful import Api

官網(wǎng)教程

例證

restful.py 內(nèi)容:

#!/usr/bin/python3# encoding:utf-8from flask import Flask,requestfrom flask_restful import reqparse, abort, Api, Resource#初始化app、apiapp = Flask(__name__)api = Api(app)LISTS = [ {’parameter’: ’首頁(yè)’}, {’parameter’: ’登錄’}, {’parameter’: ’后臺(tái)’}]# /LISTS/<list_id>(url參數(shù)),判斷輸入的參數(shù)值列表LISTS下標(biāo)越界,越界則退出def abort_if_list_doesnt_exist(list_id): try: LISTS[list_id] except IndexError: abort(404, message='輸入的值,不在范圍內(nèi)')’’’add_argument(’per_page’, type=int, location=’args’) stradd_argument中通過(guò)指定參數(shù)名、參數(shù)類型、參數(shù)獲取方式來(lái)獲取參數(shù)對(duì)象并支持做合法性校驗(yàn)第一個(gè)參數(shù)是需要獲取的參數(shù)的名稱參數(shù)type: 參數(shù)指的類型, 如果參數(shù)中可能包含中文需要使用six.text_type. 或直接不指定type參數(shù)location: 獲取參數(shù)的方式,可選的有args(url中獲取)、json(json類型的)、form(表單方式提交)參數(shù)required:是否必要,默認(rèn)非必要提供 required=True(必須)參數(shù)help:針對(duì)必要的參數(shù),如果請(qǐng)求時(shí)沒(méi)有提供,則會(huì)返回help中相應(yīng)的信息’’’parser = reqparse.RequestParser()#入?yún)arameter,location=’json’表示為入?yún)閖son格式parser.add_argument(’parameter’,location=’json’)# 路由類,函數(shù)get、post、put、delete等實(shí)現(xiàn)http請(qǐng)求方法# url不帶入?yún)?/LISTSclass c_dictList(Resource): #類型get,根據(jù)列表LISTS,處理,返回一個(gè)新的列表r_lists def get(self): r_lists = [] for listV in LISTS: if listV:new_list = {}#LISTS列表存的是字典,遍歷時(shí)為字典listV[’parameter’],可獲取字典值new_list[’parameter’] = listV[’parameter’]#LISTS為列表,index可以查出對(duì)應(yīng)下標(biāo)值new_list[’url’] = ’url/’+ str(LISTS.index(listV))#LISTS列表中添加字典r_lists.append(new_list) return r_lists #類型post,在列表LISTS后添加一個(gè)值,并返回列表值 def post(self): args = parser.parse_args() list_id = len(LISTS) #args[’parameter’],入?yún)? LISTS.append({’parameter’: args[’parameter’]}) return LISTS, 201 # 路由類,函數(shù)get、post、put、delete等實(shí)現(xiàn)http請(qǐng)求方法# url帶入?yún)?/LISTS/<list_id>class c_dict(Resource): #根據(jù)輸入url入?yún)⒅底鳛長(zhǎng)ISTS的下標(biāo),返回該值 def get(self, list_id): url_int = int(list_id) abort_if_list_doesnt_exist(url_int) return LISTS[url_int] #根據(jù)輸入url入?yún)⒅底鳛長(zhǎng)ISTS的下標(biāo),修改該值,并返回列表值 def put(self, list_id): url_int = int(list_id) args = parser.parse_args() #args[’parameter’],入?yún)? parameter = {’parameter’: args[’parameter’]} LISTS[url_int] = parameter return LISTS, 201 #根據(jù)輸入url入?yún)⒅底鳛長(zhǎng)ISTS的下標(biāo),刪除該值 def delete(self, list_id): url_int = int(list_id) abort_if_list_doesnt_exist(url_int) del LISTS[url_int] return ’’, 204#設(shè)置資源路由api.add_resource(類名,url路徑)#url,不帶入?yún)ⅲ纾篽ttp://127.0.0.1:8891/LISTSapi.add_resource(c_dictList, ’/LISTS’)#url,帶入?yún)ⅲ?lt;list_id>為變量值,如:http://127.0.0.1:8891/LISTS/1api.add_resource(c_dict, ’/LISTS/<list_id>’)if __name__ == ’__main__’: #不設(shè)置ip、端口,默認(rèn):http://127.0.0.1:5000/ #app.run(debug=True) #設(shè)置ip、端口 app.run(host='127.0.0.1', port=8891,debug=True)

控制臺(tái)運(yùn)行結(jié)果:

Serving Flask app '123' (lazy loading) * Environment: productionWARNING: This is a development server. Do not use it in a productiondeployment. Use a production WSGI server instead. * Debug mode: onRestarting with stat * Debugger is active! * Debugger PIN: 279-443-943 * Running on http://127.0.0.1:8891/ (Press CTRL+C toquit)

postman調(diào)用結(jié)果

url不帶參數(shù)

get

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

post,有請(qǐng)求入?yún)ⅲ袷綖閖son,入?yún)⒅底芳拥搅斜砗竺?/p>

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

url帶參數(shù)get,根據(jù)url入?yún)⒅等缦聢D值=1,作為L(zhǎng)ISTS的下標(biāo),獲取列表值

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

put ,根據(jù)url入?yún)⒅等缦聢D值=1,作為L(zhǎng)ISTS的下標(biāo),修改該列表值為請(qǐng)求入?yún)⒅担卿浉臑橛唵?/p>

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

put ,根據(jù)url入?yún)⒅等缦聢D值=2,作為L(zhǎng)ISTS的下標(biāo),刪除該值,成功返回狀態(tài)204

Python restful框架接口開(kāi)發(fā)實(shí)現(xiàn)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 面粉仓_储酒罐_不锈钢储酒罐厂家-泰安鑫佳机械制造有限公司 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 科客,主见不成见| 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 成都租车_成都租车公司_成都租车网_众行宝 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 河南中专学校|职高|技校招生-河南中职中专网 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 广州昊至泉水上乐园设备有限公司| 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 间苯二酚,间苯二酚厂家-淄博双和化工 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 广州小程序开发_APP开发公司_分销商城系统定制_小跑科技 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 |