Languages/Dart & Flutter
Dart json API 파라미터 배열로 보내는 법
프로그래멍
2021. 1. 27. 00:01
final req = Uri.https(
'api주소',
'getPublic', {
'latitude': '37.56379999022149',
'longitude': '126.96231432716287',
'range': '1000',
'class_1': 'health',
});
final response = await http.get(req);
처음에 이렇게 만들어서 api 호출을 했다.
그러다보니 class_1의 health 만 찾아온다. 당연히 하지만 난 배열로 class_1의 4가지를 찾아와야했다.
그래서 어떻게하면 class_1에 파라미터를 보내야되지 하면어 이것저것 해봤지만 당연히 안됐다.
class_1 : ['array1','array2']
class_1 : ['array1','array2'].tostring()
그래서 검색을 했다.
스택 오버플러우에 나와 똑같은 질문을 한것을 찾을 수 있었다.
var uri = Uri(
scheme: 'https',
host: 'api주소',
path: 'getPublic',
queryParameters: {
'latitude': '37.56379999022149',
'longitude': '126.96231432716287',
'range': '1000',
'class_1': ['health', 'office', 'transportation', 'edu'],
});
final response = await http.get(uri);
get방식으로 보내는 것이 아니라 post라면 body에 넣어서 보낼 수 있지만 get에는 body가 없기 때문에
Uri를 저렇게 작성해 주면 된다.
이걸로 2시간정도 막혀있었다.
stackoverflow.com/questions/57367391/dart-sending-get-parameters-that-are-lists