xwpftemplate接口文档 接口文档如何使用
转载
接口文档
接口文档的作用
在前后端分离的项目中,我们写完后端后,我们很清楚有哪些接口、属性、编码方式、返回格式等,但是做前端的不清楚,所以就需要我们编写接口文档,将这些东西都写在里面
如何编写接口文档
1.使用word或md编写接口文档
2.使用第三方平台编写接口文档 如: https://www.showdoc.com.cn/item/index
3.公司使用第三方开源自己搭建的的接口文档平台
4.使用drf编写的接口可以自动生成接口文档
swagger
coreapi
使用coreapi自动生成接口文档步骤
1.安装
2.配置路由
from rest_framework.documentation import include_docs_urls
path('docs/', include_docs_urls(title='xx项目接口文档')),
3.在视图类方法上写注释即可
在类和类的方法上加注释,在序列化类或表模型字段上加help_text,required等
4.配置文件配置
REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
}
5.访问地址
http://127.0.0.1:8000/docs
jwt介绍和原理
jwt 即cookie session token, 就是web方向的token使用
JWT由三部分构成
头
声明类型,这里时jwt
声明加密算法,通常直接用HNAC SHA256
公司信息等
载荷 payload
存放有效信息的地方
过期时间
签发时间
用户id
用户名
...
签名 signature
前两个部分通过密钥加加密方式得到的
JWT的开发重点在于登录接口签发token和认证类jwt认证
base64的编码和解码
import base64
import json
dic = {'name': 'zyg', 'age': 18}
dic_str = json.dumps(dic)
# 做base64编码
res = base64.b64encode(dic_str.encode('utf-8'))
# base64编码后,字符长度一定是4的倍数,不是用=补齐,=不表示任何数据
JWT运行流程
签发过程
根据用户名密码在数据库中查到了用户名,且有载荷,那么就会根据加密方式和密钥生成签名
认证过程
同样是根据用户输入的信息与载荷生成签名并与之前生成的签名作比较,相同则验证通过,否则验证不通过直接返回
drf-jwt的快速使用
基于django + drf的开发平台有两个模块,jwt和simplejwt
djangorestframework-jwt
djangorestframework-simplejwt
使用步骤
1.安装模块
2.快速签发token,在登录接口路由中配置
path('login/', obtain_jwt_token),
3.用postman向http://127.0.0.1:8000/login/发送post请求,携带username和password
定制返回格式
1.编写函数jwt_response_payload_handler
def jwt_response_payload_handler(tpken, user=None, request=None):
return {
'code': 100,
'msg': '登录成功',
'token': token,
'username': user.username
}
2.在项目的配置文件中配置
JWT_AUTH = {
'JWT_RESPONSE_PAYLOAD_HANDLER': 'app01.utils.jwt_response_payload_handler',
}
jwt的认证类
1.在视图类上加认证类和权限类
authentication_classes = [JSONWebTokenAuthentication]
permission_classes = [IsAuthenticated]
2.postman测试
请求头中key值为Authorization, value值为jwt + 空格 + token值
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。