利用python写api接口实战指南

 更新时间:2022年05月11日 11:44:36   作者:说笑谈古松  
api接口在我们开发中的重要性相信大家都这篇文章主要给大家介绍了关于利用python写api接口实战的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、操作步骤

  1. 导入:import flask,json
  2. 实例化:api = flask.Flask(name)
  3. 定义接口访问路径及访问方式:@api.route(’/index’,methods=[‘get/post/PUT/DELETE’])
  4. 定义函数,注意需与路径的名称一致,设置返回类型并支持中文:def index(): return json.dumps(ren,ensure_ascii=False)
  5. 三种格式入参访问接口:
    5.1 url格式入参:flask.request.args.get(‘id’)
    5.2 form-data格式入参:pwd = flask.request.values.get(‘pwd’)
    5.3 josn格式入参:pwd = flask.request.json.get(‘pwd’)
  6. 启动服务:api.run(port=8888,debug=True,host=‘127.0.0.1’),开启服务之后,就可以通过ip+端口+路径+入参访问接口

二、源码举例

#!/usr/bin/python3
# encoding:utf-8
import flask,json
# 实例化api,把当前这个python文件当作一个服务,__name__代表当前这个python文件
api = flask.Flask(__name__) 
 
# 'index'是接口路径,methods不写,默认get请求     
@api.route('/index',methods=['get']) 
# get方式访问
def index():
  ren = {'msg':'成功访问首页','msg_code':200}
  #json.dumps 序列化时对中文默认使用的ascii编码.想输出中文需要指定ensure_ascii=False
  return json.dumps(ren,ensure_ascii=False)
 
#post入参访问方式一:url格式参数
@api.route('/article',methods=['post']) 
def article():
  #url格式参数?id=12589&name='lishi'
  id = flask.request.args.get('id')
   
  if id:
    if id == '12589':
      ren = {'msg':'成功访问文章','msg_code':200}
    else:
      ren = {'msg':'找不到文章','msg_code':400}
  else:
    ren = {'msg':'请输入文章id参数','msg_code':-1}
  return json.dumps(ren,ensure_ascii=False)
 
#post入参访问方式二:from-data(k-v)格式参数
@api.route('/login',methods=['post'])
def login():
  #from-data格式参数
  usrname = flask.request.values.get('usrname')
  pwd = flask.request.values.get('pwd')
   
  if usrname and pwd:
    if usrname =='test' and pwd =='123456':
      ren = {'msg':'登录成功','msg_code':200}
    else:
      ren = {'msg':'用户名或密码错误','msg_code':-1}
  else:
    ren = {'msg':'用户名或密码为空','msg_code':1001}
  return json.dumps(ren,ensure_ascii=False)
 
#post入参访问方式二:josn格式参数  
@api.route('/loginjosn',methods=['post'])
def loginjosn():
  #from-data格式参数
  usrname = flask.request.json.get('usrname')
  pwd = flask.request.json.get('pwd')
   
  if usrname and pwd:
    if usrname =='test' and pwd =='123456':
      ren = {'msg':'登录成功','msg_code':200}
    else:
      ren = {'msg':'用户名或密码错误','msg_code':-1}
  else:
    ren = {'msg':'用户名或密码为空','msg_code':1001}
  return json.dumps(ren,ensure_ascii=False)
 
if __name__ == '__main__':
  api.run(port=8888,debug=True,host='127.0.0.1') # 启动服务
  # debug=True,改了代码后,不用重启,它会自动重启
  # 'host='127.0.0.1'别IP访问地址

运行结果:

 * Serving Flask app 'monitor' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 991-833-116
 * Running on http://127.0.0.1:8888/ (Press CTRL+C to quit)
127.0.0.1 - - [16/Jan/2022 14:05:53] "POST /login?usrname=test&pwd=123456 HTTP/1.1" 200 -
127.0.0.1 - - [16/Jan/2022 14:08:34] "GET /index HTTP/1.1" 200 -

请求方式:

使用postman测试接口是否可行

如:

url:127.0.0.1:8888/login

参数:usrname=test;pwd=123456

获取请求参数的几种方法:

flask.request.form.get("key", type=str, default=None) 获取表单数据,
flask.request.args.get("key") 获取get请求参数,
flask.request.values.get("key") 获取所有参数。

总结

到此这篇关于利用python写api接口实战指南的文章就介绍到这了,更多相关python写api接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python3将ipa包中的文件按大小排序

    Python3将ipa包中的文件按大小排序

    这篇文章主要介绍了Python3将ipa包中的文件按大小排序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • pampy超强的模式匹配工具的实现

    pampy超强的模式匹配工具的实现

    在自然语言处理界,模式匹配可以说是最常用的技术。甚至可以说,将NLP技术作为真实生产力的项目都少不了模式匹配。本文就介绍了pampy超强的模式匹配工具的实现,感兴趣的可以了解一下
    2021-07-07
  • python调试神器PySnooper的使用

    python调试神器PySnooper的使用

    这篇文章主要介绍了python调试神器PySnooper的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python人工智能深度学习模型训练经验总结

    Python人工智能深度学习模型训练经验总结

    这篇文章主要为大家介绍了Python人工智能深度学习模型训练的经验总结及建议,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 基于pygame实现贪吃蛇小游戏示例

    基于pygame实现贪吃蛇小游戏示例

    大家好,本篇文章主要讲的是基于pygame实现贪吃蛇小游戏示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Python编程进阶代码逻辑分离指南

    Python编程进阶代码逻辑分离指南

    在 Python 编程中,适当的代码逻辑分离可以帮助降低复杂度、提高可读性,减少大量的 if-else 结构,本文将深入探讨如何使用不同方法来改进代码结构,降低对 if-else 结构的依赖
    2023-12-12
  • python登录豆瓣并发帖的方法

    python登录豆瓣并发帖的方法

    这篇文章主要介绍了python登录豆瓣并发帖的方法,涉及URL模拟登陆及cookie的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python中最强大的重试库Tenacity使用探索

    Python中最强大的重试库Tenacity使用探索

    这篇文章主要为大家介绍了Python中最强大的重试库Tenacity使用探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python连接并简单操作SQL server数据库详细步骤

    python连接并简单操作SQL server数据库详细步骤

    python作为一门十分火热的编程语言,操作数据库自然是必不可少的,下面这篇文章主要给大家介绍了关于python连接并简单操作SQL server数据库的相关资料,需要的朋友可以参考下
    2023-06-06
  • python网络编程 使用UDP、TCP协议收发信息详解

    python网络编程 使用UDP、TCP协议收发信息详解

    这篇文章主要介绍了python网络编程 使用UDP、TCP协议收发信息详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论