正如Mikhail在他的評論中提到的,您可以在請求標頭中包含一個標誌,指示響應是否需要包含附加屬性propme。您可以從功能代碼中的請求標頭中提取標誌值,並動態創建並返回響應。以下示例代碼供您參考。
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = name ?? data?.name;
IEnumerable<string> headerValues;
var response = new HttpResponseMessage();
if(req.Headers.TryGetValues("requiredpropme",out headerValues)){
if(headerValues.FirstOrDefault()=="1"){
response = req.CreateResponse(HttpStatusCode.OK, "the request contains requiredpropme in request header");
}
else{
response = req.CreateResponse(HttpStatusCode.OK, "the request does not contain requiredpropme in request header");
}
}
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: response;
}
如果使用不同的值傳遞requiredpropme
,將返回不同的反應。
添加一個新的屬性通常不應該破壞現有的客戶端...爲什麼你不願意這麼做? – Mikhail
我們不想向少數消費者展示這些信息(新財產)。 – Vicky
如果HTTP請求標頭包含標誌或基於授權標頭,則只能添加它。 – Mikhail