Каталог ендпоінтів та маршрутів Повний довідник HTTP-маршрутів, контролерів, рівнів доступу та REST API платформи
Архітектурна схема системи ендпоінтів
На схемі нижче представлено структуру маршрутизації Grails (UrlMappings), розподіл обов'язків між контролерами, механізм контролю доступу Spring Security та збереження у MongoDB:
1. Модуль лабораторної діагностики та скринінгу (ISO 21570)
Ендпоінти для акредитованих випробувальних лабораторій, молекулярного скринінгу матриць та експорту праймерів/зондів:
| Метод | URL Маршрут | Доступ | Призначення та опис результату | Формат відповіді |
|---|---|---|---|---|
| GET | /gmoMatrix/index | permitAll | Інтерактивний інтерфейс скринінг-матриці ГМО. Дозволяє вибирати культуру та стан елементів (p35S, tNOS тощо). | HTML (Gentelella UI) |
| POST | /gmoMatrix/solve | permitAll | Алгоритмічний розрахунок кандидатних ліній ГМО за результатами скринінгу та формування мінімального набору для підтвердження. | JSON (Результати матриці) |
| GET | /gmoMatrix/exportMatrix | permitAll | Експорт повної матриці зв'язків подій та генетичних елементів обраної культури. | CSV / Excel файл |
| GET | /detectionMethod/index | permitAll | Каталог джерельно прив'язаних метаданих методів детекції (зокрема EURL GMFF та CropLife) з фільтрацією за мішенями та праймерами. Наявність запису не є локальною сертифікацією методу. | HTML (Таблиця методів) |
| GET | /detectionMethod/show/$id | permitAll | Детальна картка методу детекції: прямий/зворотний праймери (5'→3'), зонди флуорофорів, довжина амплікону та статус валідації. | HTML (Картка методу) |
| GET | /detectionMethod/crmDirectory | permitAll | Каталог джерельно прив'язаних стандартних зразків (CRM): постачальники, матриці, концентрації та посилання на сертифікати аналізу (CoA), коли вони збережені. Статус відображає наявне джерело, а не поточну наявність або локальну сертифікацію; демонстраційні приклади доступні лише за параметром ?demo=true. |
HTML (CRM каталог) |
| GET | /detectionMethod/downloadFasta/$id | permitAll | Експорт послідовностей праймерів, зонда та схематичного амплікону у стандартному біоінформатичному форматі FASTA з емпіричними оцінками Tm. | text/plain (.fasta) |
| GET | /detectionMethod/downloadBed/$id | permitAll | Експорт геномних інтервалів UCSC BED. Утримується (HTTP 422) до інтеграції верифікованих номерів геномних хромосом та координат стику вставки. | text/tab-separated-values / JSON (422) |
| GET | /detectionMethod/downloadThermocyclerCsv/$id | permitAll | Експорт загального (GENERIC) плану ампліфікації для планування ПЛР. Непідтримувані специфічні формати термоциклерів повертають HTTP 422. | text/csv (.csv) / JSON (422) |
2. Реєстри та каталоги сутностей ГМО
Стандартні CRUD-ендпоінти перегляду, пошуку та фільтрації базових наукових і класифікаційних реєстрів:
| Метод | Контролер / URL | Доступ | Призначення | Ключові параметри |
|---|---|---|---|---|
| GET | /event/index (також /) | permitAll | Головний реєстр подій модифікації ГМО. Підтримує повнотекстовий пошук за назвою, брендом, OECD UID та кодом ISAAA. | q (пошуковий запит), max, offset |
| GET | /event/show/$id | permitAll | Повна молекулярна та регуляторна картка події: промотори, гени, термінатори, зв'язані методи детекції, схвалення за країнами та виявлені конфлікти. | id (ідентифікатор події) |
| GET | /event/export | permitAll | Експорт списку подій у форматі табличних даних для зовнішнього статистичного аналізу. | format (csv, json, tsv) |
| GET | /crop/index, /crop/show/$id | permitAll | Реєстр сільськогосподарських культур (кукурудза, соя, ріпак, бавовник тощо) із закріпленими за ними лініями ГМО. | Стандартні параметри пагінації |
| GET | /geneticElement/index | permitAll | Реєстр трансгенів, промоторів та регуляторних ділянок (Cry-токсини, CP4-EPSPS, p35S, tNOS, Bar/Pat). | id, max, sort |
| GET | /traitBio/index | permitAll | Біологічні ознаки (стійкість до комах, толерантність до гербіцидів, посухостійкість). | Стандартні параметри списку |
| GET | /commercialTrait/index | permitAll | Комерційні переваги та класифікація агрономічних властивостей. | Стандартні параметри списку |
| GET | /developer/index | permitAll | Каталог біотехнологічних компаній-розробників та оригінаторів насіння (Bayer, Corteva, Syngenta тощо). | Стандартні параметри списку |
| GET | /country/index | permitAll | Реєстр країн світу та їхніх національних регуляторних статусів щодо вирощування, імпорту та споживання. | Стандартні параметри списку |
| GET | /modificationMethod/index | permitAll | Методи генної інтродукції (біолістика, агробактеріальна трансформація тощо). | Стандартні параметри списку |
3. Контроль якості, вирішення конфліктів та лінтери
| Метод | URL Маршрут | Доступ | Призначення та алгоритм дії |
|---|---|---|---|
| GET | /event/conflicts | ROLE_ADMIN | Панель виявлення міжбазових розбіжностей: знаходить невідповідності між ISAAA, OECD та FAO у датах, назвах та описах. Доступ закрито для запобігання неавторизованому перегляду конфліктів. |
| POST | /event/resolveConflict | ROLE_ADMIN | Інтерактивне прийняття кураторського рішення: підтвердження джерела з найвищим пріоритетом або об'єднання значень. |
| GET | /event/auditOecdUids | permitAll | Синтаксичний лінтер за міжнародним стандартом OECD ENV/JM/MONO(2002)7. Перевіряє контрольні суми та маски кодів. |
| POST | /parser/reconcileEntities | ROLE_ADMIN | Запуск дедуплікації та крос-зведення зв'язків між подіями та методами детекції за кодами OECD UID. |
4. Автоматизація збору даних та системні ендпоінти
| Метод | URL Маршрут | Доступ | Призначення та опис дії |
|---|---|---|---|
| GET | /parser/index | ROLE_ADMIN | Панель керування парсерами, статистика останніх запусків, моніторинг помилок та аудит завантажень. |
| POST | /parser/runConsecutiveParsing | ROLE_ADMIN, ROLE_INGESTION | Повний послідовний цикл збору даних: від довідників культур та розробників до подій та методів ПЛР. Потребує автентифікації сесії або JWT Bearer; неавторизований loopback доступ заблоковано. |
| POST | /parser/parseListOfEvents | ROLE_ADMIN | Вибіркове оновлення каталогу подій з міжнародних реєстрів ISAAA / OECD. |
| POST | /parser/parseListOfDetectionMethods | ROLE_ADMIN | Вибіркове оновлення валідованих протоколів детекції (JRC GMOMETHODS та CropLife). |
| GET | /URLData/index, /show/$id | ROLE_ADMIN | Перегляд кешованих веб-сторінок зовнішніх порталів із метаданими (ETag, Last-Modified, термін збереження). Закрито для публічного доступу. |
| GET | /backup/index | ROLE_ADMIN | Панель керування резервними копіями MongoDB (дампи mongodump та архівні файли). Мутаційні запити (створення, видалення) захищені CSRF токенами. |
| GET | /actuator/health, /actuator/info | permitAll | Spring Boot Actuator: моніторинг працездатності додатку, доступності MongoDB та метрик пам'яті. |
| GET | /info/endpoints | permitAll | Поточна сторінка: повний каталог ендпоінтів та опис системи. |
| GET | /info/scenarios | permitAll | Практичні сценарії використання для лабораторій, науковців та регуляторних органів. |
| GET | /info/sources | permitAll | Динамічний моніторинг джерел даних та онлайн-розрахунок кількості сутностей. |