Я пытаюсь создать REST API с помощью wso2 API_Manager для сбора данных из базы данных Postgres (цель обучения). Я борюсь с этим и хотел бы знать:
- Я не правильно понял роли компонентов wso2 (новые техно и тема для меня)
- или есть ошибка вкак я настроил менеджер.
Настройка системы
Я использовал официальный образ докера , добавил jar-файл postgres jdbc в /repository/components/lib/
и добавил следующее в/repository/conf/datasources/master-datasources.xml
:
<datasource>
<name>s0m3dAtabas3</name>
<description>The db used for testing purposes</description>
<definition type="RDBMS">
<configuration>
<url>jdbc:postgresql://sandor_postgres:5432/s0m3dAtabas3</url>
<driverClassName>org.postgresql.Driver</driverClassName>
<username>s0m3us3rfr0mdAtAMaj0r</username>
<password>N0t5uchAs1mple1</password>
<maxActive>80</maxActive>
<minIdle>5</minIdle>
<maxWait>60000</maxWait>
<defaultAutoCommit>false</defaultAutoCommit>
<testOnBorrow>true</testOnBorrow>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
Я убедился, что контейнер postgres с именем sandor_postgres
доступен из wso2 с этими учетными данными. В этой базе данных у меня есть таблица с именем something
. Изображение поставляется со следующими пользовательскими интерфейсами:
Создание графического API
Сначала я следовал учебнику WorldBank , который казался кристально чистым (хотя я не совсем уверен, откуда поступили данные). Затем я попытался его адаптировать.
Шаг 1: Дизайн
Я использовал имя базы данных в качестве контекста (s0m3dAtabas3
) v.1.0.0. Так как таблица называется something
, шаблон URL, который я получаю в итоге: /s0m3dAtabas3/1.0.0/something
Шаг 2: Реализация
Здесь все начинает сбивать с толку. Независимо от пути к ресурсу, который я использую в Конечной точке (тип конечной точки REST), я получаю 404, и журналы не очень полезны
http://192.168.8.111:8280
-> 404 http://192.168.8.111:8280/something
-> 404 http://192.168.8.111:9443/tried_several
-> Invalid - ошибка подключения к бэкэнду http://192.168.8.111:8243/tried_several
-> Invalid - ошибка подключения к бэкэнду
INFO - InboundDBSyncRequestEvent Running DB sync task.
INFO - LogMediator STATUS = Message dispatched to the main sequence. Invalid URL., RESOURCE = /s0m3dAtabas3/1.0.0
INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2019-10-29 11:42:31,030+0000]
INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2019-10-29 11:42:31,197+0000]
INFO - LogMediator STATUS = Message dispatched to the main sequence. Invalid URL., RESOURCE = /s0m3dAtabas3/bullshit
INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2019-10-29 11:48:30,649+0000]
INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2019-10-29 11:48:30,790+0000]
INFO - LogMediator STATUS = Message dispatched to the main sequence. Invalid URL., RESOURCE = /
INFO - InboundDBSyncRequestEvent Running DB sync task.
INFO - LogMediator STATUS = Message dispatched to the main sequence. Invalid URL., RESOURCE = /
Я пропустил какой-то важный шаг настройки , или wso2 API Manager не является автономным компонентом Я думал, что это так и требуется другой компонент для достижения того, что я ищу?