2017-08-16 134 views
0

我正在学习脚本化REST API的过程。我有一个在用户进行POST时创建REQ和RITM的。我无法将其他帖子中的变量填充到RITM中。以下是我目前的代码。响应是RITM,请求者和简短描述。我愿意接受所有建议,就像我说我正在飞行中学习这样,所以如果有任何明显的问题,我都会接受。谢谢!从REST调用填充RITM变量

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) { 

    var cartId = GlideGuid.generate(null); 
    var cart = new Cart(cartId); 
    var item = cart.addItem('25409830135aa20099fc7e776144b0a0'); 
    var rc = cart.placeOrder(); 
    var req = request.getHeader('ContactEmployeeId'); 
    var sdesc = request.getHeader('ShortDescription'); 
    //return rc.number; 
    //gs.addInfoMessage(rc.number); 
    var num = rc.sys_id; //get sys ID of newly created request 
    var rnum = 0; 

    //using the request number, query the RITM table for related RITM 
    var u = new GlideRecord('sc_req_item'); 
    u.addEncodedQuery('request='+num); 
    u.query(); 
    while (u.next()) 
    { 
     rnum = u.number;  
    } 

    response.setBody({ 
     Requested_Item: rnum, 
     u_requester: req, 
     short_description: sdesc 
    }); 

    response.setContentType('application/json'); 

})(request, response); 
+0

请问您的请求体是怎么样的,请提供您的请求有效载荷样本 – Rafay

回答

0

您可以使用如此的setVariable(ritm, variableName, value)方法。

var cartId = GlideGuid.generate(null); 
var cart = new Cart(cartId); 
var item = cart.addItem('25409830135aa20099fc7e776144b0a0'); 

// add your variables here to the item variable in your cart object 
cart.setVariable(item, "comments", message); 
cart.setVariable(item, "my_var_1", value1); 
cart.setVariable(item, "my_var_2", value2); 

// submit order 
var rc = cart.placeOrder();