首页 > 其他 > 详细

postman测试接口

时间:2020-10-05 21:41:31      阅读:23      评论:0      收藏:0      [点我收藏+]

postman测试接口

1.1 测试登录接口,获取token

http://192.168.56.100:8888/user/login/

技术分享图片

‘‘‘自定义认证和权限优先级更高,可以覆盖settings.py中的 ‘‘‘ 
# 自定义权限类 
permission_classes = (MyPermission,) 
# 自定义认证类, 自定义会覆盖全局配置 
authentication_classes =(JSONWebTokenAuthentication,)

 1.2 使用获得的token获取所有用户信息

http://192.168.56.100:8888/user/user/

 

技术分享图片

2.源码分析

class JSONWebTokenAPIView(APIView): 
	""" Base API View that various JWT interactions inherit from. 
	""" 
	permission_classes = () 
	authentication_classes = () 
	
	def get_serializer_context(self): 
		""" Extra context provided to the serializer class. 
		""" 
		return {
		‘request‘: self.request, 
		‘view‘: self, 
		} 
	def get_serializer_class(self): 
		""" 
		Return the class to use for the serializer. 
		Defaults to using `self.serializer_class`. 
		You may want to override this if you need to provide different 
		serializations depending on the incoming request. 
		(Eg. admins get full serialization, others get basic serialization) 
		""" 
		assert self.serializer_class is not None, ( 
			"‘%s‘ should either include a `serializer_class` attribute, " 
			"or override the `get_serializer_class()` method." 
			% self.__class__.__name__) 
		return self.serializer_class 
	def get_serializer(self, *args, **kwargs): 
		""" 
		Return the serializer instance that should be used for validating and 
		deserializing input, and for serializing output. 
		""" 
		serializer_class = self.get_serializer_class() 
		kwargs[‘context‘] = self.get_serializer_context() 
		return serializer_class(*args, **kwargs) 
	def post(self, request, *args, **kwargs): 
		serializer = self.get_serializer(data=request.data) 
		if serializer.is_valid(): 
			user = serializer.object.get(‘user‘) or request.user # User表对象 
			token = serializer.object.get(‘token‘) # 获取到生成的 token 
			response_data = jwt_response_payload_handler(token, user, request) 
			response = Response(response_data) 
			if api_settings.JWT_AUTH_COOKIE: 
			expiration = (datetime.utcnow() + 
						  api_settings.JWT_EXPIRATION_DELTA) 
			response.set_cookie(api_settings.JWT_AUTH_COOKIE, 
								token, 
								expires=expiration, 
								httponly=True) 
			return response 
		return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)

  

postman测试接口

原文:https://www.cnblogs.com/view2320/p/13771042.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!