一、思考❓❔
1.創建API接口難嗎?
軟件測試工程師:
- 只測過API接口, 從沒創建過
- 應該需要掌握一門后端開發語言和后端開發框架吧!?
- 腦容量有限,想想就可怕
2.如何創建API接口呢?
- 使用Django restframework能快速創建符合restful風格的API接口
- 通過Django restframework框架提供的序列化器、視圖集可輕輕松松實現
- 簡單高效,學習成本低
二、搭建項目工程🔨🔨
1.創建項目
-
打開pycharm
-
創建項目
- 使用豆瓣源安裝Django Django restframework markdown
- 創建Django項目工程
在Terminal中運行
python manage.py runserver
, 在瀏覽器中訪問, 如果出現如下頁面代表成功
三、創建API接口💪🏽💪🏽
1.創建子應用並遷移
# 在Terminal中創建子應用
python manage.py startapp users
# 進行數據庫遷移
python manage.py makemigrations
python manage.py migrate
2.添加配置
在CreateRestfulAPI/settings.py中添加如下配置:
# 將'rest_framework'和'users.apps.UsersConfig'加入到INSTALLED_APPS列表中
INSTALLED_APPS = [
# restframework子應用
'rest_framework',
# users子應用
'users.apps.UsersConfig',
]
# restframework的全局配置放在REST_FRAMEWORK字典中
REST_FRAMEWORK = {
# 使用Django自帶permission_class來進行認證
# 為認證的用戶只有讀的權限
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
]
}
3.編寫代碼
- 創建users/serializers.py文件
from django.contrib.auth.models import User
from rest_framework.serializers import HyperlinkedModelSerializer
# 創建序列化器
class UsersModelSerializer(HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'is_staff', 'is_active', 'last_login')
- 在users/views.py中添加如下代碼
from rest_framework import viewsets
from django.contrib.auth.models import User
from users.serializers import UsersModelSerializer
# 定義視圖集
class UsersViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UsersModelSerializer
- 創建子路由users/urls.py文件
from rest_framework.routers import DefaultRouter
from .views import UsersViewSet
# 創建DefaultRouter對象
router = DefaultRouter()
# 批量添加路由
router.register(r'users', UsersViewSet)
urlpatterns = [
]
urlpatterns += router.urls
- 在全局路由文件CreateRestfulAPI/urls.py中添加如下代碼
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# 添加restframework自帶的登錄接口路由
path('', include('rest_framework.urls', namespace='rest_framework')),
# 添加子路由
path('', include('users.urls')),
]
- 創建超級管理員用戶
- 運行項目
- 在命令行輸入:
python manage.py runserver
- 在命令行輸入:
4.效果展示
- 訪問主頁
- 使用超級管理員用戶登錄
- 對用戶進行管理(POST、GET)
- 對用戶進行管理(GET、PUT、DELETE)
六、總結💡💡
- 本文介紹了一種創建符合Restful風格的API接口的方法
- 包含Django項目環境的搭建
- 實現了GET、POST、PUT、DELETE接口的創建方式, 簡單高效
- 本文為可優原創,有不足之處,請多指教!