2
我有角2碼:郵政查詢API在Django REST
sendPost(){
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let requestOptions = new RequestOptions({headers: headers});
requestOptions.headers = headers;
let data = {
"name": "XX",
"email": "[email protected]",
"phone_number": "+99999995555",
"address": "YYY",
"code": "80-885",
"city": "YHYY",
"voivodeship": "ZZZZ",
"description": "VVVVV"
};
this.http.post(`http://127.0.0.1:8000/companies/create`, data, requestOptions).subscribe(res => {
console.log(res.json());
}, (err) => {
console.log(err);
});
}
錯誤API:
<WSGIRequest: OPTIONS '/companies/create'>
Internal Server Error: /companies/create
Traceback (most recent call last):
File "C:XX\CRM\env\lib\site-packages\django\core\handlers\exception.py", line 41, in inner
response = get_response(request)
File "C:XX\CRM\env\lib\site-packages\django\core\handlers\base.py", line 198, in _get_response
"returned None instead." % (callback.__module__, view_name)
ValueError: The view my_crm.views.companies_create didn't return an HttpResponse object. It returned None instead.
[25/Jul/2017 21:32:35] "OPTIONS /companies/create HTTP/1.1" 500 59515
的API顯示,有錯誤的地方在功能,但是當我使用POSTMAN這是相同的JSON通過沒有問題。哪裏可以是錯誤? 我認爲使用POSTMAN測試時API處理得當。
編輯: API函數:
@csrf_exempt
def companies_create(request):
"""
Create a new company.
"""
if request.method == 'POST':
data = JSONParser().parse(request)
serializer = CompanySerializer(data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
return JsonResponse(serializer.errors, status=400)
後一個API取景功能,請 – Aniket
@Aniket我加 – programmerJavaPL
你的HTTP方法是OPTION'WSGIRequest:OPTIONS',但你只響應如果POST方法 –