Şu anda Django REST Framework'e dayalı bir görünüm için bazı kodum var. Bir müşteri özel durum sınıfı kullanıyorum, ancak ideal olarak dahili Django REST istisnalarını kullanmak istiyorum.Django REST İstisnalar
Aşağıdaki koddan REST Framework istisnalarını en yüksek değerine kullanmanın en iyi veya en temiz yolu olmadığını düşünüyorum.
Herkesin sorunları yakaladığı ve REST istisnaları dışında temiz bir şekilde iade ettiği iyi örnekler var mı?
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)
Bu sadece özel durum oluşturur. Cevap da vermedi mi? * – felix001
("bu hata görünür") zam APIException deneyin veya rest_framework.exceptions içe gelen PermissionDenied, ValidationError istisnası Tepki dönüştürülmüş olur felix001 ParserError – Ramast
@ hakkında emin değil, daha fazla bilgi – EmptyFlash