热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python类的使用方法图解_Python接口开发实现步骤详解

一、操作步骤1.导入:importflask,json2.实例化:apiflask.Flask(__name__)3.定义接口访问路径及访问方式&

一、操作步骤

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 "restful" (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: 249-915-285

* Running on http://127.0.0.1:8888/ (Press CTRL+C to quit)

三、postman访问接口

get方式,无参数访问接口

202004260951391.png

post方式,url格式入参访问接口

202004260951392.png

post方式,form-data格式入参访问接口

202004260951393.png

post方式,josn格式入参访问接口

202004260951434.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。



推荐阅读
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
author-avatar
牛奶香橙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有