有關接口和請求頭的解析


問題一:什么是接口

  在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