我有两个API。从一个API,我正在将字符串数据发送到第二个API。在第二个API中进行计算时,我将JSON格式的数据保存在API中,然后将数据发送回第一个API。这是工作。但是在第二个API中,如果我尝试从内容框中发布字符串数据,则会显示错误。此处的媒体类型为“ application / json”。那么如何从API视图发布数据?我已经添加了第二个API的屏幕截图:
我的第二个API的views.py的某些部分:
@api_view(['GET', 'POST'])
def sentenceList(request):
if request.method == 'GET':
queryset = Bucketlist.objects.all()
serializer = BucketlistSerializer(queryset, many=True)
return Response(serializer.data)
elif request.method == 'POST':
triples = getTriples(request.data)
keys = ['sub','predi','obj']
demo_data = dict(zip(keys,triples[0]))
serializer = BucketlistSerializer(data=demo_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)
答案 0 :(得分:0)
我认为您应该为纯文本编写一个自定义解析器,并在您的视图中使用它:
ERROR: Can't get master address from ZooKeeper; znode data == null
和您的看法:
from rest_framework.parsers import BaseParser, JsonParser
from rest_framework.decorators import parser_classes
class PlainTextParser(BaseParser):
"""
Plain text parser.
"""
media_type = 'text/plain'
def parse(self, stream, media_type=None, parser_context=None):
"""
Simply return a string representing the body of the request.
"""
return stream.read()