JS HttpTrigger nicht Anfrage Körper xml Deserialisierung nicht unterstützt. Es funktioniert als einfaches XML. Aber Sie können C verwenden # HttpTrigger mit POCO-Objekt:
function.json:
{
"bindings": [
{
"type": "httpTrigger",
"name": "data",
"direction": "in",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"name": "res",
"direction": "out"
}
]
}
run.csx
#r "System.Runtime.Serialization"
using System.Net;
using System.Runtime.Serialization;
// DataContract attributes exist to demonstrate that
// XML payloads are also supported
[DataContract(Name = "RequestData", Namespace = "http://functions")]
public class RequestData
{
[DataMember]
public string Id { get; set; }
[DataMember]
public string Value { get; set; }
}
public static HttpResponseMessage Run(RequestData data, HttpRequestMessage req, ExecutionContext context, TraceWriter log)
{
log.Info($"C# HTTP trigger function processed a request. {req.RequestUri}");
log.Info($"InvocationId: {context.InvocationId}");
log.Info($"InvocationId: {data.Id}");
log.Info($"InvocationId: {data.Value}");
return new HttpResponseMessage(HttpStatusCode.OK);
}
Anforderungs-Header:
Content-Type: text/xml
Anfrage Körper:
<RequestData xmlns="http://functions">
<Id>name test</Id>
<Value>value test</Value>
</RequestData>
Ich habe diesen Ansatz nicht verwendet, da ich C# nicht verwende. Ich übergab den Körper an den JS HttpTrigger als einfaches xml und konvertierte dann das xml in das JS-Objektliteral mit dem Knotenpaket [xml2js] (https://www.npmjs.com/package/xml2js). – LeadingMoominExpert