Положите не работает с помощью плаката
Скорее всего, я делаю что-то не так, но не знаю, что именно. Я пытаюсь протестировать 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" }