使用Django框架建立符合RESTful風格的API
隨著網路應用程式的不斷發展,建立可擴展且靈活的API已成為現代應用程式的重要組成部分。 Django框架作為一個流行的開發框架,為我們提供了一個快速且可靠的方式來建立符合RESTful風格的API。本文將介紹如何使用Django框架來建立RESTful API,並提供具體的程式碼範例。
$ django-admin startproject myproject
進入專案目錄並建立一個名為"api"的應用程式。
$ cd myproject $ python manage.py startapp api
INSTALLED_APPS = [ ... 'rest_framework', 'api', ]
還需要設定專案的urls.py文件,將請求路徑轉送給我們的API應用程式。
from django.urls import include, path urlpatterns = [ ... path('api/', include('api.urls')), ]
from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True)
接下來,我們需要在api目錄中建立一個名為serializers.py的文件,並定義一個名為"ArticleSerializer"的序列化器來將模型實例轉換為JSON。
from rest_framework import serializers from api.models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = ['id', 'title', 'content', 'created_at']
from rest_framework import generics from api.models import Article from api.serializers import ArticleSerializer class ArticleList(generics.ListCreateAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
我們也可以建立一個名為ArticleDetail的類別視圖來處理單一文章的GET、PUT和DELETE請求。
from rest_framework import generics from api.models import Article from api.serializers import ArticleSerializer class ArticleDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
from django.urls import path from api import views urlpatterns = [ path('articles/', views.ArticleList.as_view(), name='article-list'), path('articles/<int:pk>/', views.ArticleDetail.as_view(), name='article-detail'), ]
$ python manage.py runserver
取得所有文章(GET請求):
GET http://localhost:8000/api/articles/
取得單一文章(GET請求):
GET http://localhost:8000/api/articles/1/
建立新文章(POST請求):
POST http://localhost:8000/api/articles/ Content-Type: application/json { "title": "Hello", "content": "This is a test article." }
更新文章(PUT請求):
PUT http://localhost:8000/api/articles/1/ Content-Type: application/json { "title": "Hello World", "content": "This is an updated test article." }
DELETE http://localhost:8000/api/articles/1/
在本文中,我們介紹如何使用Django框架來建立符合RESTful風格的API。透過建立模型和序列化器、定義視圖和URL配置,我們能夠快速建立一個功能完整的API,並進行測試。這為我們建構現代Web應用和提供可擴展的服務提供了良好的基礎。使用Django框架,我們可以輕鬆處理常見的API需求,例如取得、建立、更新和刪除資源等。
以上是使用Django框架建立符合RESTful風格的API的詳細內容。更多資訊請關注PHP中文網其他相關文章!