有关接口和请求头的解析


问题一:什么是接口

  在python中一般指的接口都是api url

       但是真正的,所有语言包括java,接口就有两种定义

                         一:一个URL,进行系统之间操作处理

                         二:面向对象 接口 , 用来做约束 实现(继承)了接口中,必须编写接口中定义的方法

如果面试题中问到有没有用到什么接口

    回答: url

 

java中的写法

 1 class Base():  2     def f2(self):  3         pass
 4 class A():  5     def f1(self):  6         pass
 7 
 8 class Bar():  9     def f1(self): 10         pass
11 
12 def func(arg): 13  arg.f1() 14 
15 obj = A() 16 func(obj) 17 
18 
19 
20 注释 21 
22 这个obj可以是A的对象,也可以是Bar的对象, 23 但是不能是base的对象,因为base里面没有f1 24 
25 python中没有这种类型,所以一般只能自己去造 26 
31 所有继承接口的类都需要有接口的所有方法 32 这个就是用来约束他里面必须实现这个方法

 

在python中的写法

 1 class Base(object):  2     def send(self):  3         raise  NotImplementedError("请实现send方法")  4 
 5 class Email(Base):  6     def send(self):  7         print("发送邮件")  8 
 9 
10 def send_notify(obj): 11  obj.send() 12 
13 obj = Email() 14 send_notify(obj) 15 
16 在python中想要实现类似于java中的接口,就用抛出异常+类继承的方法去做

 

问题二:别人提交了一个数据过来,自己在request.post中找不到拿不到值是什么情况

     首先保证对方发的一定post请求,

     其次就应该想到和请求头有关系

    请求头和请求体的区别

    请求体是真正的数据,请求头中放的是对请求体加以描述的东西,当请求体和请求头发过来的时候,django会先去看他的contentType,

根据请求头的不同回去请求体做出不同的处理,

请求发来的数据:

     基于Django的

     基于django rest-formework

  django rest-formework是在django的基础上多加了一些功能

  如果发现request.post中没有值得时候,可能是请求头发错,也可能是数据格式发生错误

rest-fromework有一个解析器,那么解析器是用来干什么呢???

      答:解析请求体里面的数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM