statpan

История разработки проекта LegiNote 3 - Запросы в Go

  • Язык написания: Корейский
  • Страна: Все страныcountry-flag
  • ИТ

Создано: 2024-08-26

Создано: 2024-08-26 12:41

Здравствуйте, это StatPan.

Я пишу о разработке сайд-проекта LegiNote.

Пожалуйста, обратитесь к следующей ссылке для предыдущей части.



Рабочий №1 worker-bill

Имя «bill» звучит как-то знакомо, как имя иностранного друга. Вдохновение для него я получил от следующего значения слова.

Ранее я искал различные английские слова, связанные с доменом Национального собрания, чтобы найти подходящие имена переменных и репозиториев. И я использовал найденное тогда.

История разработки проекта LegiNote 3 - Запросы в Go

Значение слова bill



Спецификация OpenAPI, на которую нацелен Worker для сбора данных, выглядит следующим образом:


Входные параметры

История разработки проекта LegiNote 3 - Запросы в Go

Входные параметры API для проверки и обработки законопроектов


Выходные параметры

История разработки проекта LegiNote 3 - Запросы в Go

Входные параметры API для проверки и обработки законопроектов


Похоже, что предоставляется много данных, и можно обслуживать довольно подробную информацию.


Необходимые компоненты HTTP-запроса

Прежде всего, давайте посмотрим, что необходимо для отправки HTTP-запроса с указанными выше входными параметрами.

URL, метод HTTP-запроса(хотя здесь это не указано, Get, Post не поддерживается ㅠ), KEY, Type, pIndex, pSize значения.

Что касается значения KEY, то, как и в случае с другими OpenAPI, вам необходимо получить отдельный ключ аутентификации.


Поскольку мы ведем рассказ о разработке, я хотел бы добавить ссылки на референсы… Но, видимо, из-за того, что API еще не очень популярен, в Google нет статей о том, как получить ключ аутентификации… Вместо этого давайте кратко рассмотрим это на примере картинок…


История разработки проекта LegiNote 3 - Запросы в Go

Главная страница

Нажмите кнопку «Моя страница» на главной странице.


История разработки проекта LegiNote 3 - Запросы в Go

Моя страница


История разработки проекта LegiNote 3 - Запросы в Go

Экран получения ключа API

В этом окне, в части «Цель использования» или «Содержание», я просто написал, что это для участия в конкурсе по открытым данным. Не стоит сильно беспокоиться о заполнении этой части. Думаю, если вы напишете 1-2 предложения, не содержащих ничего предосудительного (?), вам сразу же одобрят запрос.

Полученный таким образом ключ — это и есть ключ KEY, необходимый для описания HTTP выше.


История разработки проекта LegiNote 3 - Запросы в Go


Давайте отправим запрос на указанный выше URL (в следующем обновлении я надеюсь, что будет указан и метод).


go

```


С помощью этого кода я смог проверить работоспособность.

Хочу дать вам один совет: обязательно добавьте заголовок (Header), если хотите, чтобы этот API работал без проблем. (полушутка).

Затем заполняем обязательные параметры для URL Get.

Для значений pIndex и pSize указан тип integer, но вы можете использовать тип string, и все равно будет работать. (непонятно).

Тип xml также может быть использован, но я выбрал JSON.



Результат

map[TVBPMBILL11:[map[head:[map[list_total_count:103305] map[RESULT:map[CODE:INFO-000 MESSAGE:정상 처리되었습니다.]]]] map[row:[map[AGE:22 BILL_ID:PRC_T2U4C0A8B2Z0A1Y3Y5G2H0F0G5E4F4 BILL_NAME:정치자금법 일부개정법률안 BILL_NO:2203179 CMT_PRESENT_DT: CMT_PROC_DT: CMT_PROC_RESULT_CD: COMMITTEE_DT: COMMITTEE_PROC_DT: CURR_COMMITTEE: CURR_COMMITTEE_ID: LAW_PRESENT_DT: LAW_PROC_DT: LAW_PROC_RESULT_CD: LAW_SUBMIT_DT: LINK_URL:https://likms.assembly.go.kr/bill/billDetail.do?billId=PRC_T2U4C0A8B2Z0A1Y3Y5G2H0F0G5E4F4 PROC_DT: PROC_RESULT_CD: PROPOSER:고동진의원 등 10인 PROPOSER_KIND:의원 PROPOSE_DT:2024-08-23 RST_MONA_CD:HS39431V RST_PROPOSER:고동진] map[AGE:22 BILL_ID:PRC_O2M4M0L8L2T0R1S3Q5R1P4Q0Y2W2X6 BILL_NAME:정당법 일부개정법률안 BILL_NO:2203178 CMT_PRESENT_DT: CMT_PROC_DT: CMT_PROC_RESULT_CD: COMMITTEE_DT: COMMITTEE_PROC_DT: CURR_COMMITTEE: CURR_COMMITTEE_ID: LAW_PRESENT_DT: LAW_PROC_DT: LAW_PROC_RESULT_CD: LAW_SUBMIT_DT: LINK_URL:https://likms.assembly.go.kr/bill/billDetail.do?...


Можно получить результат, показанный выше.


Отдельно, для управления этим объектом, я определил все структуры и извлек значения. И это тоже потребовало много отладки.


Из-за ограничения по количеству символов, думаю, мне придется продолжить тему разбора этого объекта на структуры в следующей части.

Один запрос занял целую часть в рассказе о разработке. Конечно, учитывая особенности использования этого OpenAPI, на настройку API и структуры потребовалось много времени. Нужно найти способ, чтобы другие разработчики не проходили через те же трудности.


Если у вас возникли проблемы с выполнением какого-либо из запросов или вам не нравится мой странный код, пожалуйста, предоставьте мне сигареты.



Комментарии0

18.11.2024 Разнообразные интересы: чем я занимаюсь в свободное время?В записи блога от 18 ноября 2024 года рассматриваются вопросы повышения эффективности работы за счет автоматизации, личные хобби (игры, сериалы, программирование и др.), инвестиции, а также последние тенденции в области искусственного интеллекта и информа
Charles Lee
Charles Lee
Charles Lee
Charles Lee

November 19, 2024

Справочник по разработке API для Korea Investment & SecuritiesСправочник по разработке API для Korea Investment & Securities предоставит вам необходимую информацию и советы для разработки API. Начните разработку, обратившись к официальному сайту, сайту разработчиков KIS, репозиторию github и другим ресурсам.
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

April 22, 2024

Что такое JWT (JSON Web Token)?JWT — это открытый стандарт, использующий JSON-объекты для безопасной передачи информации. Он состоит из заголовка, полезной нагрузки и подписи, обеспечивая целостность и безопасность данных с помощью подписи. Отсутствует необходимость в поддержании сесс
Seize the day
Seize the day
Seize the day
Seize the day

March 4, 2024

Опыт участия в проектах с открытым исходным кодомЭта статья делится опытом участия в проектах с открытым исходным кодом и вдохновляет на преодоление страха и совершение первого шага. Она рассказывает о процессе обретения уверенности и роста, начиная с небольших улучшений.
seungwon
seungwon
seungwon
seungwon

May 3, 2025