В настоящее время у меня есть код для представления на основе Django REST Framework. Ive использовал класс исключения клиента, но в идеале я хочу использовать встроенные исключения Django REST.
Из приведенного ниже кода я считаю, что это, вероятно, не самый лучший или самый чистый способ использовать исключения REST Framework до максимума.
Есть ли у кого-нибудь хорошие примеры, когда они ловят проблемы и возвращают их с помощью REST, встроенных в исключения?
class JSONResponse(HttpResponse):
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs)
def queryInput(request):
try:
auth_token = session_id = getAuthHeader(request)
if not auth_token:
return JSONResponse({'detail' : "fail", "error" : "No X-Auth-Token Found", "data" : None}, status=500)
if request.method:
data = JSONParser().parse(request)
serializer = queryInputSerializer(data=data)
if request.method == 'POST':
if serializer.is_valid():
input= serializer.data["input"]
fetchData = MainRunner(input=input,auth_token=auth_token)
main_data = fetchData.main()
if main_data:
return JSONResponse({'detail' : "success", "error" : None, "data" : main_data}, status=201)
return JSONResponse({'detail' : "Unknown Error","error" : True, "data" : None}, status=500)
except Exception as e:
return JSONResponse({'error' : str(e)},status=500)