Discussions
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.