Flask提供的RESTful Web服務

2021-07-26 22:51:50 字數 2223 閱讀 6161

rest全稱是representational state transfer。他在**中提到:「我這篇文章的寫作目的,就是想在符合架構原理的前提下,理解和評估以網路為基礎的應用軟體的架構設計,得到乙個功能強、效能好、適宜通訊的架構。rest指的是一組架構約束條件和原則。

rest本身並沒有創造新的技術、元件或服務,而隱藏在restful背後的理念就是使用web的現有特徵和能力, 更好地使用現有web標準中的一些準則和約束。

rest的特性:rest web 服務的核心概念是資源(resources)。資源被 uri(uniform resource identifier, 統一資源識別符號)定位,客戶端使用 http 協議操作這些資源,我們用一句不是很全面的話來概括就是:uri 定位資源,用 http 動詞(get, post, put, delete 等)描述操作。

get:獲取資源資訊;

post:建立新的資源;

put:更新資源;

delete:刪除資源

get方法:

# -*- coding: utf-8 -*-

from flask import flask, jsonify, abort, make_response

articles = [

,]def

get_articles

():""" 獲取所有文章列表 """

return jsonify()

defget_article

(article_id):

""" 獲取某篇文章 """

article = filter(lambda a: a['id'] == article_id, articles)

if len(article) == 0:

abort(404)

return jsonify()

defnot_found

(error):

return make_response(jsonify(), 404)

if __name__ == '__main__':

本機執行後輸入http://localhost:5632/blog/api/articles

post方法:

from flask import request

defcreate_article

():if

not request.json or

not'title'

in request.json:

abort(400)

article =

return jsonify(), 201

put方法:

defupdate_article

(article_id):

article = filter(lambda a: a['id'] == article_id, articles)

if len(article) == 0:

abort(404)

ifnot request.json:

abort(400)

article[0]['title'] = request.json.get('title', article[0]['title'])

article[0]['content'] = request.json.get('content', article[0]['content'])

return jsonify()

delete方法:

defdelete_article

(article_id):

article = filter(lambda t: t['id'] == article_id, articles)

if len(article) == 0:

abort(404)

articles.remove(article[0])

return jsonify()

flask開發restful框架demo

flask是乙個基於python開發的微型web框架,其中werkzeug本質是socket服務端,其用於接收http請求並對請求進行預處理,然後觸發flask框架,開發人員基於flask框架提供的功能對請求進行相應的處理,並返回給使用者。flask sqlalchemy 運算元據庫 flask s...

Restful的理解,Restful 優缺點

寫一下我對restful的理解,最近換工作面試的時候有問到我restful api的東西,工作中以前很多專案也是webapi js前台控制項的形式構建系統。實際上感覺restful太 理想化 用起來不是特別順手,舉例說明下 先看看什麼叫restful rest的名稱 表現層狀態轉化 中,省略了主語。...

Flask 關於Flask的request屬性

在進行flask開發中,前端需要傳送不同的請求及各種帶引數的方式,比如get方法在url後面帶引數和post在body帶引數,有時候又是post的表單提交方式,這個時候就需要從request提取引數。這篇文章是總結如何使用request。在flask的官方文件中是這樣介紹request的 對於 we...