簡體   English   中英

表的插入腳本中的AZURE移動服務轉發POST請求

[英]AZURE Mobile Service forwarding POST request in insert script of table

我正在嘗試使用Azure移動服務來處理/處理空數據表上的GET和POST請求。 (實際上只是使用移動服務作為傳遞),在此過程中,我試圖將請求轉發到另一個URL,並接收回響應,然后通過移動服務將其返回。 我已經弄清楚了下面顯示的G​​ET部分,但是在POST部分遇到了麻煩。

GET部分:(哪個作品)

    function read(query, user, request)
{
   var p = request.parameters;
   var httpRequest = require('request');    
   var url = 'http://someURL/'+ p.ssoid;

    httpRequest.get(url, function(err, response, body) 
    {
        if (err)
        {
            request.respond(500, "INTERNAL SERVER ERROR"); 
        }
        else
         {
            request.respond(200,JSON.parse(body) ); 
        }

    });

}

郵政編碼:(不起作用)

function insert(item, user, request) 
{
   var p = request.parameters;


require('request').post({
    uri:'http://someURL/',
    headers:{'content-type': 'application/json'},
   body:p.body
    },function(err,res,body){
              if (err)
        {
            request.respond(500, "INTERNAL SERVER ERROR"); 
        }
        else
         {
            request.respond(200,"Success"); 
        }
});

}

我知道POST需要帶有發布信息的正文,但是如何使它向前傳遞?

在插入時,請求的正文將存儲在item參數中(假設您要傳遞JSON對象)。 因此,您的函數將如下所示:

function insert(item, user, request) 
{
    var p = request.parameters;
    require('request').post({
        uri : 'http://someURL/',
        headers : {'Content-Type': 'application/json'},
        body : item
    }, function(err, res, body){
        if (err)
        {
            request.respond(500, "INTERNAL SERVER ERROR"); 
        }
        else
        {
            request.respond(200,"Success"); 
        }
    });
}

值得一提的是,如果您將移動服務作為簡單的傳遞使用,則還可以考慮使用自定義API而不是表,在該表中您還可以應用邏輯而無需任何邏輯(空)表。

function insert(item, user, request) 
{
    var p = request.parameters;
    require('request').post({
        uri : 'http://someURL/',
        headers : {'Content-Type': 'application/json'},
        body : JSON.stringify(item)
    }, function(err, res, body){
        if (err)
        {
            request.respond(500, "INTERNAL SERVER ERROR"); 
        }
        else
        {
            request.respond(200,"Success"); 
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM