接口測試:關心的只是數據,若是返回的是頁面,這種不是接口, 須要http協議和json格式, 能夠安裝jsonview查看json格式前端
接口能夠是不一樣系統之間會須要接口(如天氣接口,如不想本身開發這種功能 ,能夠用氣象服務部門的天氣接口來實現),也多是下層服務對上層服務的接口(功能內部的調用,編程語言和database之間, 須要驅動,這個驅動是提供了給編程語言去操做數據庫的API,這個api就能夠看作是接口。
還能夠是服務與服務之間的調用,如抽獎接口,會去調用其它接口,如調用用戶接口,python
a. 前端和後端通常分分離,這樣後端開發能夠不用精通前端技術,如HTML/JavaScript/CSS, 只專一於數據的處理, 對外提供API 接口web
b. 前端的專業性愈來愈高,經過API接口獲取數據,從而專一於頁面的設計
c.先後端分離增長接口的應用範圍,開發的接口能夠應用到web頁面上,也能夠應用到移動app上。數據庫
通常開發接口都用api作爲一級路徑, e.g.: 127.0.0.1:8000/api/....django
a. 建立添加發佈會接口:add_event/:
能夠加在urls.py裏:
path('api/add_event/', views.add_event)
也能夠在應用裏添加二級路徑: 在sign應用下建立一個python文件,命名爲urls.py
那麼在guest裏的urls.py裏就應該加上:
path('api', include('sign.urls'))
在sign下面的urls.py裏添加:
from diango.urls import path
from sign import views
urlpatterns = [
path('add_event/', views_api.add_event, name = 'add_event')]
而後再建立一個views, 如views_api.py,建立一個add_event 函數,但返回要用jsonResponse(就是字典格式)
def add_event(request):
if request.methon =='POST':
eid = request.POST.get('sid', '')
name =request.POST.get('name', '')
.....把發佈會的參數都加上
if eid=='' or name =='' or ....:
return JsonResponse({"status":10021, "message":"參數爲空"}) #這裏的status能夠隨便命名,如1111, 2222
else:
return JsonResponse({"status":10031, "messag":"請求方法錯誤"})編程
若是是post請求,那麼須要用接口測試工具: postman,能夠模擬http調用
postman裏請求方法選post,header能夠不要,body很重要,須要把參數都傳過來,而後點send。json
Get請求的話是在?後面加參數.後端
Jmeter:接口測試工具:api
robotframework:接口測試工具: (python 的庫python -m pip install robotframework)
C:\python36\Scripts\pyrob.bat 運行
後綴:.robot
腳本分兩部分:settings and test case (能夠參照官網)
settings:至關於導包
如: Library SeleniumLibrary
Test case:
test_hello
log hello robot framework #(log至關於python裏的print)安全
python -m robot hello.robot(能夠解除警告)
接口的安全機制:
不可能隨便讓人使用,因此要有安全機制, 通常三種方法: