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...