2017-10-16 3 views
2

Ich bin dabei this example beim Erstellen einer JavaScript-Funktion in Azure-Funktionen und Senden der Anfrage Körper mit Postman. In Azure-Funktionen ist es möglich, die Funktion mithilfe des Anforderungshauptteils im json-Format zu testen. Ist es möglich, den Körper als XML anstelle von JSON zu senden? Der Antrag Körper verwendet wird, istAzure Funktionen Anfrage Körper als xml anstelle von JSON

{ 
    "name" : "Wes testing with Postman", 
    "address" : "Seattle, WA 98101" 
} 

Antwort

0

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> 
+0

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

Verwandte Themen