2017-09-08 86 views
1

將Google腳本作爲webApp發佈時,允許每個腳本具有GET和POST HTTP方法。是否有可能強制谷歌腳本返回404錯誤?

很明顯,GET是獲取一些數據。但是,當您嘗試獲取特定值(例如使用過濾器參數)並且未找到任何值時,如何強制腳本返回404錯誤 - 未找到?

二是從我的角度來看可能性:

  • 返回404錯誤(不知道是否是可能的)
  • 總是返回 的結構,方便,如果有對輸入數據的匹配 API。喜歡的東西:

    { { 「錯誤」:「0如果一切其他精細的特定代碼」, 「的errorMessage」: }「可能出現的錯誤的描述」, 「數據」:空或履行數據根據查詢結果 }

回答

1

我不認爲你可以目前力來設定氣體響應代碼,但你的第二個選項聽起來是可行的。像這樣的東西可能會爲你工作:

function doGet(e){ 

    var json = handleResponse(e); 


    return ContentService.createTextOutput(JSON.stringify(json)) 
         .setMimeType(ContentService.MimeType.JSON); 
} 

處理函數例如:

if ("result" in response) { 
    //do something 
} 

if ("error" in response) { 
    //do something 
} 

function handleResponse(e) { 

    var arr = [1, 2, 3, 4, 5, 6, 7, 8]; 
    var param = e.parameter.yourParameter; 

    if (param) { 

    arr = arr.filter(function(element){ 

     return element > parseInt(param); 

}); 

    if (arr.length > 0) { 

      return {"result":arr}; 

     } else { 

      return {"error":"no value was found"}; 

      } 

} else { 

    return {"error":"query parameter not specified"}; 

} 

} 

在接收端,你可以根據屬性包含然後處理響應