미세먼지 데이터를 불러오는 과정에서 이슈가 있어 질문 드립니다.
안녕하세요.
stat_repository.dart 파일 내부에서 API를 불러오는 과정에 이슈가 있어 질문 드립니다.
import 'package:dio/dio.dart';
import 'package:dusty_dust/const/data.dart';
import 'package:dusty_dust/model/stat_model.dart';
class StatRepository {
static Future<List<StatModel>> fetchData() async {
// final response = await Dio().get(
// 'http://apis.data.go.kr/B552584/ArpltnStatsSvc/getCtprvnMesureLIst',
// queryParameters: {
// 'serviceKey': serviceKey,
// 'returnType': 'json',
// 'numOfRows': 30,
// 'pageNo': 1,
// 'itemCode': 'PM10',
// 'dataGubun': 'HOUR',
// 'searchCondition': 'WEEK',
// },
// );
final response = await Dio().get(
'http://apis.data.go.kr/B552584/ArpltnStatsSvc/getCtprvnMesureLIst'
'?serviceKey=$serviceKey'
'&returnType=json'
'&numOfRows=30'
'&pageNo=1'
'&itemCode=PM10'
'&dataGubun=HOUR'
'&searchCondition=WEEK',
);
return response.data['response']['body']['items']
.map<StatModel>(
(item) => StatModel.fromJson(json: item),
)
.toList();
}
}
위 코드에서 주석을 처리한 부분대로 API를 호출하면(기존 강의 내용) 다음과 같은 에러가(서비스키가 등록되지 않았다는 내용) 나오고
<OpenAPI_ServiceResponse>
<cmmMsgHeader>
<errMsg>SERVICE ERROR</errMsg>
<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>
<returnReasonCode>30</returnReasonCode>
</cmmMsgHeader>
</OpenAPI_ServiceResponse>
위 코드에서 엔드포인트 부분에 직접 파라미터를 적으면 정상적으로 데이터가 출력됩니다.
관련 이슈들을 구글링 해보니 serviceKey를 받아오는 과정에서 인코딩 과정이 별도로 필요하다는데 만약 내부 설정을 변경 한다면 어떻게 해야 할까요?
답변 2
198강 (){onTap(e);}의 이해 돕기
0
26
1
video_call 플러그인 설치후 에러 발생
0
45
1
SDK 안드로이드 설치 질문!
0
60
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
70
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
55
1
플레이스토어
0
59
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
55
1
가이드라인 질문
0
57
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
76
1
emulator 실행 오류
0
93
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
71
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
43
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
53
1
video_call 플러그인 설치시 에러문제
0
64
1
children 안의 if 문에서 { } 못쓰는 이유?
0
48
1
이렇게 오류가 떠요
0
63
1
AppBar 사용했는데
0
61
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
56
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
63
1
Video Player 프로젝트에 대한 추가 질문
0
53
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
42
1
geolocator 오류때문에 개발진행이 불가능입니다
0
63
1
API 관련 이슈
0
86
2





