Как правильно отправить json POST запрос с помощью Gnomes libsoup? - PullRequest
0 голосов
/ 17 февраля 2020

У меня проблемы с отправкой POST-запросов с помощью libsoup в Gnome. ПОЛУЧИТЬ запросы, которые я могу выполнить просто отлично. Я просто не уверен, как получить запрос на рабочую почту.

 _httpSession = new Soup.Session();

        let url = "http://localhost:3000/api/auth/register/org";
        var body = {body:"?how to add"}

        let message = Soup.Message.new('POST', url);

        message.set_request('application/json', 2,body);
        _httpSession.queue_message(message, function (_httpSession, message){
            //log res
            global.log(message.response_body.data)

        });

Это то, что у меня сейчас. Я не знаю, как добавить тело почтового запроса. В документации сказано, что set_request требует 4 параметра, но я получаю сообщение об ошибке, в котором говорится, что ожидается 3, если я добавлю body.length.

1 Ответ

0 голосов
/ 17 февраля 2020

 _httpSession = new Soup.Session();

        let url = "http://localhost:3000/api/auth/register/org";
        var body = `{"user":"tom","pass":"1234"}`

        let message = Soup.Message.new('POST', url);

        message.set_request('application/json', 2,body);
        _httpSession.queue_message(message, function (_httpSession, message){
            //log res
            global.log(message.response_body.data)

        });

Для любого, кто пытается это выяснить, тело должно быть строкой, созданной в виде объекта json. Все примеры, которые я видел, просто говорили

body="user=this"

, что неверно.

...