色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python restful框架接口開發實現

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

理解

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

安裝 flask restful

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

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

安裝過程中會出現如下報錯:

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.

解決方法

升級pip python -m pip install --upgrade pip

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

官網教程

例證

restful.py 內容:

#!/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’: ’首頁’}, {’parameter’: ’登錄’}, {’parameter’: ’后臺’}]# /LISTS/<list_id>(url參數),判斷輸入的參數值列表LISTS下標越界,越界則退出def abort_if_list_doesnt_exist(list_id): try: LISTS[list_id] except IndexError: abort(404, message='輸入的值,不在范圍內')’’’add_argument(’per_page’, type=int, location=’args’) stradd_argument中通過指定參數名、參數類型、參數獲取方式來獲取參數對象并支持做合法性校驗第一個參數是需要獲取的參數的名稱參數type: 參數指的類型, 如果參數中可能包含中文需要使用six.text_type. 或直接不指定type參數location: 獲取參數的方式,可選的有args(url中獲取)、json(json類型的)、form(表單方式提交)參數required:是否必要,默認非必要提供 required=True(必須)參數help:針對必要的參數,如果請求時沒有提供,則會返回help中相應的信息’’’parser = reqparse.RequestParser()#入參parameter,location=’json’表示為入參為json格式parser.add_argument(’parameter’,location=’json’)# 路由類,函數get、post、put、delete等實現http請求方法# url不帶入參 /LISTSclass c_dictList(Resource): #類型get,根據列表LISTS,處理,返回一個新的列表r_lists def get(self): r_lists = [] for listV in LISTS: if listV:new_list = {}#LISTS列表存的是字典,遍歷時為字典listV[’parameter’],可獲取字典值new_list[’parameter’] = listV[’parameter’]#LISTS為列表,index可以查出對應下標值new_list[’url’] = ’url/’+ str(LISTS.index(listV))#LISTS列表中添加字典r_lists.append(new_list) return r_lists #類型post,在列表LISTS后添加一個值,并返回列表值 def post(self): args = parser.parse_args() list_id = len(LISTS) #args[’parameter’],入參 LISTS.append({’parameter’: args[’parameter’]}) return LISTS, 201 # 路由類,函數get、post、put、delete等實現http請求方法# url帶入參 /LISTS/<list_id>class c_dict(Resource): #根據輸入url入參值作為LISTS的下標,返回該值 def get(self, list_id): url_int = int(list_id) abort_if_list_doesnt_exist(url_int) return LISTS[url_int] #根據輸入url入參值作為LISTS的下標,修改該值,并返回列表值 def put(self, list_id): url_int = int(list_id) args = parser.parse_args() #args[’parameter’],入參 parameter = {’parameter’: args[’parameter’]} LISTS[url_int] = parameter return LISTS, 201 #根據輸入url入參值作為LISTS的下標,刪除該值 def delete(self, list_id): url_int = int(list_id) abort_if_list_doesnt_exist(url_int) del LISTS[url_int] return ’’, 204#設置資源路由api.add_resource(類名,url路徑)#url,不帶入參,如:http://127.0.0.1:8891/LISTSapi.add_resource(c_dictList, ’/LISTS’)#url,帶入參,<list_id>為變量值,如:http://127.0.0.1:8891/LISTS/1api.add_resource(c_dict, ’/LISTS/<list_id>’)if __name__ == ’__main__’: #不設置ip、端口,默認:http://127.0.0.1:5000/ #app.run(debug=True) #設置ip、端口 app.run(host='127.0.0.1', port=8891,debug=True)

控制臺運行結果:

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調用結果

url不帶參數

get

Python restful框架接口開發實現

post,有請求入參,格式為json,入參值追加到列表后面

Python restful框架接口開發實現

url帶參數get,根據url入參值如下圖值=1,作為LISTS的下標,獲取列表值

Python restful框架接口開發實現

put ,根據url入參值如下圖值=1,作為LISTS的下標,修改該列表值為請求入參值,登錄改為訂單

Python restful框架接口開發實現

put ,根據url入參值如下圖值=2,作為LISTS的下標,刪除該值,成功返回狀態204

Python restful框架接口開發實現

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一区二区网站在线观看 | 国产精品露脸脏话对白 | 国产网友自拍 | 成人免费看黄 | 日韩一区二区天海翼 | 国产高清一级视频在线观看 | 综合自拍亚洲综合图区美腿丝袜 | 午夜国产亚洲精品一区 | 国内精品久久久久久久久 | 美国黑人特大一级毛片 | 欧美成人精品一区二区 | 日韩在线看片中文字幕不卡 | 91精品国产高清久久久久久io | 亚洲精品综合久久中文字幕 | 69成人| 久久在现 | 亚洲jjzzjjzz在线播放 | 日本在线亚州精品视频在线 | 老妇综合久久香蕉蜜桃 | 欧美成国产精品 | 日韩一区二区天海翼 | 欧美a级完整在线观看 | 久久国产成人 | 国产午夜免费不卡精品理论片 | 成人三级视频在线观看 | 亚洲人成在线播放网站岛国 | 在线观看国产一区二区三区99 | 九九九国产在线 | 牛人国产偷窥女洗浴在线观看 | 国产精品爽爽va在线观看无码 | 国产v精品成人免费视频400条 | 99精品在线免费 | 亚洲欧美视频在线播放 | 欧洲成人在线视频 | 国产精品久久久久久久久久久搜索 | 国产欧美一区二区三区沐欲 | 欧美三级一区二区三区 | 日本高清免费视频色www | 91精品久久久久亚洲国产 | 免费高清一级欧美片在线观看 | 久久视频6免费观看视频精品 |