Flask Restful Small Demo

参考:

http://www.pythondoc.com/flask-restful/first.html

什么是Rest

  • Client-Server:服务器端与客户端分离。
  • Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的。
  • Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的。
  • Layered System(分层结构):服务器端与客户端通讯必需标准化,服务器的变更并不会影响客户端。
  • Uniform Interface(统一接口):客户端与服务器端的通讯方法必需是统一的。
  • Code on demand(按需执行代码?):服务器端可以在上下文中执行代码或者脚本?
 

GET 

获取资源的信息

POST

创建新资源  

PUT 

更新资源

DELETE

删除资源 

那么先用flask 建立一个小小的Demo,假使你已经安装了flask   window –cmd- pip install flask

from flask import Flask

app=Flask(__name__)

@app.route("/")

def index():
    return "hello everybody"

if __name__==‘__main__‘:
    app.run(debug=True)

在CMD命令中输入  python test1.py

会弹出 http://127.0.0.1:5000 。在浏览器中输入即可,这是一个简单的flask  应用就访问成功。

先用flask 建立一个小服务,首先是get方法获取

这里的数据库暂时不用,直接用Python的列表就行数据的增删改查

GET查询

# -*- coding: utf-8 -*-
from flask import Flask,jsonify

app=Flask(__name__)

persons=[{‘id‘:1,‘name‘:‘张三‘,‘address‘:‘河南省‘},{‘id‘:2,‘name‘:‘李斯‘,‘address‘:‘湖北省‘}]

@app.route(‘/api/list/personss‘,methods=[‘GET‘])

def Get_tasks():
    results=jsonify({‘person‘:persons})
    return results

if __name__==‘__main__‘:
    app.run(debug=True)

稍微用了一个JSON序列化

通过ID获取某一列数据

# -*- coding: utf-8 -*-
from flask import Flask,jsonify
app=Flask(__name__)
@app.route(‘/api/list/person/<int:ids>‘,methods=[‘get‘])
def get_tasks_id(ids):
    return ‘st‘
if __name__==‘__main__‘:
    app.run(debug=True)

再通过POST方法进行提交数据

from flask import request

@app.route(‘/todo/api/v1.0/tasks‘, methods=[‘POST‘])
def create_task():
    if not request.json or not ‘title‘ in request.json:
        abort(400)
    task = {
        ‘id‘: tasks[-1][‘id‘] + 1,
        ‘title‘: request.json[‘title‘],
        ‘description‘: request.json.get(‘description‘, ""),
        ‘done‘: False
    }
    tasks.append(task)
    return jsonify({‘task‘: task}), 201

然后我却使用了 Flask 的视图函数来定义所有的路由。当然这也行,但是总感觉不是 那么一回事。

Resource 基础类是flask提供的。

好累。再叙。

时间: 2024-08-04 00:10:14

Flask Restful Small Demo的相关文章

[flask]Restful接口测试简单的应用

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : shenqiang from flask import Flask,make_response,jsonify from flask_restful import Resource,Api,reqparse '''实例化Flask这个类''' app = Flask(__name__) '''调用flask Restful''' api = Api(app=app) '''配置in

如何用rflask快速初始化Flask Restful项目

如何用rflask快速初始化Flask Restful项目 说明 多啰嗦两句 我们在创建flask项目的时候,使用pycharm创建出来的项目比较简陋,而且随着项目的功能完善,项目目录结构会比较多,多个项目结构又不统一,熟悉项目需花费时间比较多,项目发布配置又需要自己重新写一套.本文章是针对Flask Restful Api项目进行的快速初始化,对于没有前后端分离的Flask项目也可作为参考. 安装rflask pip安装: pip install rflask 下载源码安装: 源码地址:htt

快速创建Flask Restful API项目

前言 Python必学的两大web框架之一Flask,俗称微框架.它只需要一个文件,几行代码就可以完成一个简单的http请求服务. 但是我们需要用flask来提供中型甚至大型web restful api服务的时候就需要我们来规划项目结构. Django 框架有自身的生成项目结构的命令和生成app的命令,但是Flask没有. 这篇文章主要介绍使用工具帮助我们进行一些Flask rest api项目初始化的工作 cookiecutter-flask-restful 介绍 cookiecutter-

Spring 4.x MVC and RESTful service Demo

This project will demo the techniques that would be used in our project. This version 1 will be just a general-purpose website, it has front-end and backend, the backend requires login. The documentation is still ongoing. Todo webservices security(do

Flask restful api与blueprint结合实践

所需依赖: Flask Flask-RESTful Python2.7 备注:flask-restful不能和flask的render_template模板结合使用,因为restfulapi的设计不是为了在flask里直接返回html. 在使用restful时,使用前后端分离模式. 本文档不包含flask的认证登陆功能 restful说明 restful把所有url请求当做资源, 资源下的get方法对应get请求,post方法对应post请求,put方法对应put请求,delete方法对应del

flask restful修改头部信息

有两种方式,第一种是使用make_response from flask import make_response def test(): resp = make_response('test', code) resp.header['xxx'] = 'xxx' return resp 使用make_response创建一个response对象,传入的参数有两个,第一个是返回的数据,第二个是状态码 然后通过response对象,修改头部信息,返回这个response对象 第二种,直接返回头部信息

Flask restful API如何解决跨站请求问题

如果像下面这样只是在return的response添加header是不行的: response = make_response(jsonify(response=get_articles(ARTICLES_NAME))) response.headers['Access-Control-Allow-Origin'] = '*' response.headers['Access-Control-Allow-Methods'] = 'POST' response.headers['Access-Co

nginx+uwsgi阿里云ubuntu服务器上简单部署flask RESTful风格项目

ubuntu16.04上利用Nginx代理uwsgi处理Flask web应用 1.环境要求 ubuntu16.04  ----  阿里云的服务器 Nginx python2 uwsgi 2.简单介绍Nginx nginx是一个高性能的http和反向代理的服务器,Nginx采采用的epoll的机制,而没有使用select和poll,虽然,在用户活跃数量比较高的时候,epoll性能不如select,但是,我们用Nginx来作为web服务器还是很不错的.nginx是一个轻量级的web服务器,他占用内

restful小demo

REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想 Rest架构的主要原则 网络上的所有事物都被抽象为资源 每个资源都有一个唯一的资源标识符 同一个资源具有多种表现形式(xml,json等) 对资源的各种操作不会改变资源标识符 所有的操作都是无状态的