view method

Future<ViewItem> view(
  1. Object queryText, {
  2. ViewMethod method = ViewMethod.targetCode,
  3. Iterable<TranslationLanguage>? transLang,
})

API query under https://krdict.korean.go.kr/api/view

queryText:

  • method 입력 값이 'word_info' 경우 어휘 정보 입력 - e.g. 나무0
  • method 입력 값이 'target_code'일 경우 대상 코드 입력 - e.g. 32750

Implementation

Future<ViewItem> view(
  Object queryText, {
  ViewMethod method = ViewMethod.targetCode,
  Iterable<TranslationLanguage>? transLang,
}) async {
  final q = queryText.toString();
  assert(q.isNotEmpty, "A query text should be provided.");
  const apiPath = "/api/view";
  final headers = <String, String>{};
  final uri = Uri.https(baseUrl, apiPath, <String, String>{
    ..._getBaseQueryParameters(q, transLang),
    "method": method.name,
  });
  final response = await http.get(uri, headers: headers);
  final xml = XmlDocument.parse(response.body)
      .findAllElements(ApiXmlElement.channel.name)
      .first;
  return ViewItem.fromXmlElement(xml);
}