DevBoi

[Flutter] 외부 서버 데이터 송수신 본문

[Mobile]/[Flutter]

[Flutter] 외부 서버 데이터 송수신

HiSmith 2023. 7. 16. 23:58
반응형

필수적으로 외부 백엔드 서버를 호출해서 데이터를 받아와야한다.

이에 필요한 작업을 해보도록 하자

 

일단 유틸로 하나 만들것이다. 메소드는 Post,Get,Put,Delete로? 무튼

 

1. pub get || pubspec에 http추가

flutter pub add http
http: ^0.13.5

 

2. 유틸성 코드 추가

백엔드 서버에 이러한 내용이 있다고 가정하자.

@PostMapping("/sample")
  public String test(){
  return "hi sample!";
  }

 

플러터 소스는 아래와 같다.

 var url = Uri.http('localhost:8080', 'sample');
    var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
    print('Response status: ${response.statusCode}');
    print('Response body: ${response.body}');

 

 

모듈성 소스를 여러가지로 만들어 보자

 

1. Get

 Map<String,String> personList = new Map();
    personList.putIfAbsent("id", () => "smith");
    getApiGet('dfas',personList);
getApiGet(String url,Map<String, dynamic> param) async{
  print(param);
  var url = Uri.http('localhost:8080', 'sample',param);
  var response = await http.get(url);
  print('Response status: ${response.statusCode}');
  print('Response body: ${response.body}');
}

 

 

2.Post

@PostMapping("/sample")
  public String test(Member member){
    System.out.println("id_post~~:"+member.getId());
  return "hi sample!";
  }
  postApi(String url, Map<String, dynamic> param) async {
    var url = Uri.http('localhost:8080', 'sample');
    var response = await http.post(
        url
    ,body: param
    );
    print('Response status: ${response.statusCode}');
    print('Response body: ${response.body}');
  }
  postApi('member', personList);

 

뭐 사실 이렇다할 소스도 없다.

그냥 단순히 사용하면 된다.

한글로 될때는 별도의 디코딩을 해줘야하는데 이건 그떄 구글링해서 적용하는걸로...

 

 

무튼 이런식으로 하면 외부 서버 호출까지 가능하다.

반응형