Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Rest API POST issues

I'm trying to build a very simple REST API in Django 1.8 with Django REST Framework in Visual Studio, in which I want to have a single service method to process a JSON, but I can't seem to make a POST:

I'm trying to send this simple JSON through Postman, just as a test:

{
   "foo":"bar"
}

with the header:

Content-Type: application/json

Here's my method:

@csrf_exempt
@api_view(['POST'])
def test(request):
    data = request.data
    return HttpResponse(status=200)

But my problem is that request.data is empty. And if instead I try to access request.body, I get

You cannot access body after reading from request's data stream.

Any ideas what could be the issue here?

like image 966
tamasgobesz Avatar asked Nov 18 '15 16:11

tamasgobesz


1 Answers

Figured this out somewhat, it seems to be an issue with Visual Studio while in debug mode. If I try to access the request while debugging before calling any Python function on it (such as a simple print, or passing in to a function to parse it), it shows up as an empty QueryDict, otherwise it shows up fine.

like image 70
tamasgobesz Avatar answered Sep 21 '22 23:09

tamasgobesz