原网址
返回列表
if request.method == 'GET':
snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True)
return Response(serializer.data)
is_valid 验证 / from rest_framework import status友好标识状态码
elif request.method == 'POST':
serializer = SnippetSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
可浏览性
views.py # 视图函数 加上 format 参数
def snippet_list(request, format=None):
urls.py # 引入format_suffix_patterns
from django.urls import path
from rest_framework.urlpatterns import format_suffix_patterns
from snippets import views
urlpatterns = [
path('snippets/', views.snippet_list),
path('snippets/<int:pk>', views.snippet_detail),
]
urlpatterns = format_suffix_patterns(urlpatterns)
由于 API 根据客户端请求选择响应的内容类型,因此默认情况下,当 Web 浏览器请求资源时,它将返回资源的 HTML 格式表示形式。这允许 API 返回完全可通过 Web 浏览的 HTML 表示形式。 (在url后加.json和.api会有不同的返回形式)