Мой проект Ballerina содержит несколько серверов.
HTTP-сервер действует как прокси-сервер для сервера GraphQL.
Когда я запускаю проект Ballerina в режиме отладки из VS Code, в режиме отладки запускается только HTTP-сервер (т. е. поддерживает точки останова отладчика). Хотя сервер GraphQL работает без проблем, он не поддерживает приостановку на точках останова отладчика.
Я хочу знать, как запустить сервер GraphQL в режиме отладки. Можно использовать режим отладки только для сервера GraphQL, а не для HTTP-сервера.
Обновлено: версия балерины: 2201.8.3.
При запуске проекта Ballerina в режиме отладки все точки входа программы (т. е. все основные функции и службы) инициализируются в режиме отладки. Следовательно, нет необходимости явно запускать службу GraphQL в режиме отладки.
Обратитесь к примеру ниже (упрощенная версия вашего проекта, включающая службы HTTP и GraphQL в одной программе) и выполните указанные шаги, чтобы убедиться, что служба GraphQL запущена и работает, а точки останова внутри службы достижимы. (Проверено с использованием последней актуальной версии Ballerina — 2201.9.2)
import ballerina/graphql;
import ballerina/http;
service / on new http:Listener(9095) {
resource function get greeting() returns string {
return "Hello, World!";
}
}
@graphql:ServiceConfig {
graphiql: {
enabled: true
}
}
service /graphql on new graphql:Listener(9090) {
resource function get greeting() returns string {
return "Hello, World!";
}
}
Следующие шаги:
greeting
и запустите проект в режиме отладки. (Об отладке см. документацию Ballerina)Похоже, проблемное поведение было решено в более поздних версиях (2201.8.4+).
В исходном вопросе не упоминалась версия Ballerina, которую я использовал. Я обновлю исходный вопрос с упоминанием версии: 2201.8.3. Я пробовал этот минимальный образец как с 8.3, так и с 9.2. Проблема воспроизводится на 8.3 и не воспроизводится на 9.2.