Положите не работает с помощью плаката

Скорее всего, я делаю что-то не так, но не знаю, что именно. Я пытаюсь протестировать NetSuite Restlet (веб-сервис) с помощью постера FF. Я могу использовать Get для работы, передавая данные в URL. Однако я получаю сообщение об ошибке, используя метод Put.

{"error": {"code": "SYNTAX_ERROR", "message": "SyntaxError: пустая строка JSON (пусто $lib#3)."}}

Это поражает мой блок улова ниже. Я читал, что для создания или обновления мы должны использовать Put, так что не уверен, почему Get работает, а не Put?

function CreateRecord(jsonobject)
{
    try
    {
        nlapiLogExecution('DEBUG', '  in get =  ');

        var jsonString = JSON.stringify(jsonobject)
        nlapiLogExecution('ERROR', 'JSON', jsonString);

        // Mandatory
        var name = jsonobject["name"];
        nlapiLogExecution('DEBUG', '  name =  ', name);

        var record = nlapiCreateRecord('customrecordtest');
        record.setFieldValue('name', name);
        var id = nlapiSubmitRecord(record, true);
        nlapiLogExecution('DEBUG', 'id  =  ', id);
        return jsonobject;
    }
    catch (err) 
    {
        nlapiLogExecution('ERROR', 'Error', err.message);       
        return err.message;
    } 
}

Автор:

https://rest.sandbox.netsuite.com/app/site/hosting/restlet.nl?script=351&deploy=1&name=Restlet Test

1 ответ

Решение

Запрос PUT не будет искать данные в URL. Он будет искать JSON в теле самого запроса. Так что вместо &name=Restlet Test, вам нужно будет отправить объект в теле запроса, как { "name" : "Restlet Test" }

Другие вопросы по тегам