You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.2 KiB

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
import json
import requests
@csrf_exempt
def generate_path(request):
if request.method == 'POST':
try:
data = json.loads(request.body)
if 'points' not in data or not isinstance(data['points'], list) or len(data['points']) != 2:
return JsonResponse({'error': 'Invalid input data. "points" must be an array of two objects with x and y.'}, status=400)
response = requests.post(
'http://localhost:82/generatePath',
json=data
)
if response.status_code == 200:
return JsonResponse(response.json(), safe=False)
else:
return JsonResponse({'error': 'Failed to generate path', 'details': response.text}, status=response.status_code)
except json.JSONDecodeError:
return JsonResponse({'error': 'Invalid JSON format'}, status=400)
except Exception as e:
return JsonResponse({'error': 'An unexpected error occurred', 'details': str(e)}, status=500)
return JsonResponse({'error': 'Only POST method is allowed'}, status=405)