Discussions
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.
RESTlet POST JSON Parameter
Hi,
I have a restlet that I want to POST to. Here is what I am entering into the developer console in my chrome browser:
function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}
var headers = new Array();
headers['User-Agent-x'] = 'SuiteScript-Call';
headers['Content-Type'] = 'application/json';
var requestData = { "api":"label" };
nlapiRequestURL('/app/site/hosting/restlet.nl?script=239&deploy=1', JSON.stringify(requestData, replacer), headers);
In the restlet code:
function post(dataIn)
{
var logger = new Logger();
logger.enableDebug();
logger.debug('post','Post: api=' + dataIn);
}
This outputs to the log: "Post: api={"api":"label"}". That tells me that the request data is being passed as a string NOT as a JSON object. As you can see I am setting the "application/json" content type. But It still will not post as an object so I can't access the data on the restlet, ie: dataIn.api returns NULL because it's a string.