less than 1 minute read

장고에서 Rest Api 방식으로, 데이터 파일은 json 형태로 변환하여 전송

플러터 프로젝트 실행

request를 보내는 함수인 _sendRequest() 함수

  • http 방식 사용

Django와 Flutter의 데이터 교환 방식

  1. request를 보내는 곳은 에물레이터임. 즉 10.0.2.2:8000로 설정해 주어야 함(-> 확실 x)
  2. 장고서버에 요청을 함
  3. 장고에서 Response를 보냄. 이떄 response되는 데이터는 json 형식임(딕셔너리 형태)
  4. 만약 정상적으로 수신이 되었다면(200),
  5. 이를 플러터에서 받아서 json형태의 데이터를 디코딩 함(jsonDecode 함수 사용)
  6. 이후는 플러터 알아서 처리

[flutter의 main.dart 파일]

void _sendRequest() async {
  var url =
  Uri.http('10.0.2.2:8000', '/accounts/hello_world_drf');

  var response = await http.get(url);
  if (response.statusCode == 200) {
    var jsonResponse = convert.jsonDecode(response.body) as Map<String, dynamic>;

    _message = jsonResponse['message'];
  } else {
    print('Request failed with status: ${response.statusCode}.');
  }

  setState(() {
  });
}

[django의 view 파일]

@api_view()
def hello_world_drf(request):
    return Response({'message': 'Hello DRF'})
  • json 형태로 데이터 전송