python学习(二十四)开发接口

模拟一些接口,在接口没有开发成功前,可以用它来测试

用来查询数据

1、第一个接口

import flask,json
#__name__,代表当前这个python文件
server=flask.Flask(__name__) #把这个python文件,当做一个服务
#ip:8000/index?uge
@server.route(‘/index‘,methods=[‘get‘,‘post‘]) #可以只写一个,那就只支持那一个
def index():
    res={‘msg‘:‘这是开发的第一个接口‘,‘msg_code‘:0}
    return json.dumps(res,ensure_ascii=False)
server.run(port=5555,debug=True)  #debug=True,改了代码之后,不用重启,会自动重启

执行该程序后,打开本地127.0.0.1:5555/index  ,界面会显示:‘msg‘:‘这是开发的第一个接口‘,‘msg_code‘:0

2、注册接口

通过用户名密码进行注册,如果用户在数据库已存在,则返回已存在提示,否则写入数据库并返回注册成功

在执行该段代码时,必须先有个数据库操作的函数,在之前也写过,具体如下:

def my_db(sql):
    import pymysql
    coon = pymysql.connect(
        host=‘xxxx‘, user=‘jxz‘, passwd=‘123456‘,
        port=3306, db=‘jxz‘, charset=‘utf8‘)
    cur = coon.cursor() #建立游标
    cur.execute(sql)#执行sql
    if sql.strip()[:6].upper()==‘SELECT‘:
        res =  cur.fetchall()
    else:
        coon.commit()
        res = ‘ok‘
    cur.close()
    coon.close()
    return res

在下面这段代码中会调用数据库操作的函数

import flask,json
server=flask.Flask(__name__)
@server.route(‘/reg‘,methods=[‘post‘])
def reg():
    username=flask.request.values.get(‘username‘)
    pwd =flask.request.values.get(‘passwd‘)
    if username and pwd:
        sql=‘select * from my_user where username="%s";‘%username
        if my_db(sql):
            res={‘msg‘:‘用户已存在‘,‘msg_code‘:2001}
        else:
            insert_sql=‘insert into my_user (username,passwd,is_admin) values ("%s","%s",0);‘%(username,pwd)
            my_db(insert_sql)
            res={‘msg‘:‘注册成功‘,‘msg_code‘:0}
    else:
        res={‘msg‘:‘必填字段未填,请查看接口文档‘,‘msg_code‘:1001}
    return json.dumps(res,ensure_ascii=False)

server.run(port=5555,debug=True,host=‘0.0.0.0‘)
#加host=‘0.0.0.0‘,表示其他人用你的ip就可以访问了

执行该程序,打开postman,URL输入127.0.0.1:5555/reg,选择post方式,直接点击send,或用户名密码没有写全,则会返回:‘msg‘:‘必填字段未填,请查看接口文档‘,‘msg_code‘:1001

如果在body中写了用户名和密码的值,且用户在数据库表中不存在,点击send,则会返回:‘msg‘:‘注册成功‘,‘msg_code‘:0,且数据库中会写入

如果在body中写了用户名和密码的值,且用户在数据库表中存在,点击send,则会返回:‘msg‘:‘用户已存在‘,‘msg_code‘:2001

3、

原文地址:https://www.cnblogs.com/emilyliu/p/9021497.html

时间: 2024-08-02 03:04:58

python学习(二十四)开发接口的相关文章

Python爬虫(二十四)_selenium案例:执行javascript脚本

本章叫介绍如何使用selenium在浏览器中使用js脚本,更多内容请参考:Python学习指南 隐藏百度图片 #-*- coding:utf-8 -*- #本篇将模拟执行javascript语句 from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get('https://www.baidu.com/') #给搜索输入框标

我的python学习--第十四天(二)

一.ansible api 在了解python的ansible api之前,先简单了解一下ansible. ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: 连接插件connection p

Python3.5 学习二十四

本节课程大纲: ----------------------------------------------------------------------------------------------------------- Model: -数据库操作 -验证 Form: class LoginForm(): email = fields.EmailField() -is_valid ->每一个字段进行正则(字段内置正则) + clean_字段 -> clean(__all__) -&g

JavaWeb学习 (二十四)————Filter(过滤器)常见应用

一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import java.io.IOException; 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain; 6 import javax.servlet.FilterConfig; 7 import javax.servlet.Serv

python学习笔记(十四) - easy_install安装与使用

一. 背景知识 在使用python的时候,经常会使用到本身没有安装的第三方模块,这时我们就需要使用easy_install 二. 使用方法 1. 下载easy_setup.py的源代码:http://pypi.python.org/pypi/setuptools 2. 用记事本存放源码并命令为easy_setup.py 3. 双击运行或在命令行运行:python easy_setup.py 4. 在python的安装目录python\scripts目录中可以看到有好几个easy_install的

android学习二十四(网络编程的最佳实践)

前面的博客已经讲解了HttpURLConnection和HttpClient的用法,知道了如何发起HTTP请求,以及解析服务器返回 的数据.但是可能你发现了,因为一个应用程序很多地方都可能使用网络功能,而发送HTTP请求的代码基本相同,如果每次我们都去编写一遍发送HTTP请求的代码,这显然不太好. 通常情况下我们都应该将这些通用的网络操作提取到一个公共的类里,并提供一个静态方法,当想要发起网络请求的时候只需简单地调用一下这个方法即可.比如下面的写法: package com.jack.netwo

python学习八十四天:爬虫基础

爬虫基础 爬虫相关概念简介 什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆卖瓜的意思),但是php在实现爬虫中支持多线程和多进程方面做的不好. 2.java:可以实现爬虫.java可以非常好的处理和实现爬虫,是唯一可以与python并驾齐驱且是python的头号劲敌.但是java实现爬虫代码较为臃肿,重构成本较大. 3.c.c++:可以实现爬虫.但是

python学习第十四节(正则)

python2和python3都有两种字符串类型strbytes re模块find一类的函数都是精确查找.字符串是模糊匹配 findall(pattern,string,flags) replace函数'hello python'.replace('p','P')'hello Python' a='sadfadf232wwewfr323rwef34534trwef'import rew=re.findall('\d','sadfadf232wwewfr323rwef34534trwef')w=r

python学习第十四天 -面向对象编程基础

python也是支持面向对象编程的.这一章节主要讲一些python面向对象编程的一些基础. 什么是面向对象的编程? 1.面向对象编程是一种程序设计范式 2.把程序看做不同对象的相互调用 3.对现实世界建立对象模型 面向对象编程的基本思想: 1.类用于定义抽象类型 2.实例根据类的定义被创建出来 如何定义一个类并创建实例? >>> class Animal(object): pass >>> dog = Animal() >>> cat = Animal

python学习笔记(十四): unittest

Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信