본문 바로가기

카테고리 없음

TIL/50/20230519

728x90

API VIEW 기본 틀

class ArticleView(APIVIew):
	def get (self, request, pk=None):
		if pk:
			serializer = ArticleSerializer(Article.objects.get(pk=pk))
		else:
	        serializer = Articleserializer(Article.objects.all(), many=True)
        
        return Response (serializer .data)
        
	def post (self, request):
        serializer = ArticleSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save)
        
        return Response (serializer.data)

    def put (self, request, pk):
        serializer = ArticleSerializer(Article.objects.get(pk=pk), data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save()
        
        return Response(serializer.data)

    def delete(self, request, pk):
        article = Article.objects.get(pk=pk)
        article.delete()
        
        return Response ({'message': "deleted"})
728x90