咱們先來談談什么是接口?
我們常說的一個接口其實就是一個URL。
在java和c#中,接口也是一種約束。
# 約束繼承(實現)了他的類中必須含有IFoo中的方法 interface IFoo: def func(self): pass class Foo(IFoo): def func(self): print(11111)
在python中不會有這種情況,咱們只做簡單的了解。
主要來看看restful規范有哪些?
restful規范
1、根據method不同,進行不同操作

2、面向資源編程
url結尾建議是名詞。

3、體現版本
情況一:

情況二:

為了防止出現跨域情況,建議用情況一。
4、體現是API

5. https

為了安全,我們建議用https,但是要破費了。
6. 響應式設置狀態碼
我們常用的狀態碼:
-
200
- 請求成功
-
300
-
301
- 永久重定向
-
302
- 臨時重定向
-
-
400
-
403
- 權限問題
-
404
- 找不到頁面
-
-
500
- 服務器問題
這是瀏覽器為我們響應式提供的通用狀態碼,但並不是一成不變的。我們也可以自定義返回狀態碼。
return HttpResponse('abcdefg',status=300)
7. 條件
一般情況我們需要篩選才能得到我們想要的數據,那么就要在url中添加相應的條件。

8. 返回值
https://www.luffycity.com/api/v2/salary
GET: 所有列表
{
code: 10000,
data: [
{'id':1,'title':'高亮'},
{'id':1,'title':'龍泰'},
{'id':1,'title':'小東北'},
]
}
POST: 返回新增的數據
{'id':1,'title':'高亮'}
https://www.luffycity.com/api/v2/salary/1/
GET: 獲取單條數據
{'id':1,'title':'高亮'}
PUT:更新
{'id':1,'title':'高亮'}
PATCH: 局部更新
{'id':1,'title':'高亮'}
DELETE:刪除
9. 返回錯誤信息
{
code: 100001,
error: 'xxx錯誤'
}
10、Hypermedia API

為了方便,我們會看情況在里面新添加一條url。
總結:
看完了restful規范,我們配置接口時,必須要按照規范來嗎?也不一定,還是要看需求。這只是一種規范,只是建議大家按照規范來使用而已。
restful與Django無關,與rest-framework無關,它只是一種規范。
