Abfragen der Request-Payload-Werte aus einem HTTPRequest in c#
Ich bin versucht zu implementieren meinen eigenen LRS für das speichern TinCanAPI Aussagen und um dies zu tun, die ich brauche, um die Werte abzurufen geschickt in die Anfrage-Payload speichert die details des Lern-Aktivität-Anweisung.
Beim betrachten meiner WebAPI Aufruf in den Entwicklertools kann ich die benötigten Werte, aber ich war nicht in der Lage, Sie zu finden mit dem Request-Objekt.
Wie Kann ich die Daten des Anfrage-Payload-Variablen aus dem Request-Objekt? Ich habe versucht, das request-Objekt und sah in den Inhalt und die Eigenschaften von Feldern, aber ich kann nicht scheinen, um zu sehen, ein Anfrage-Payload-Eigenschaft Referenz in C#. Mein payload sieht wie folgt aus:
{
"id": "d3d9aa2a-5f20-4303-84c3-1f6f5b4e9236",
"timestamp": "2014-06-26T11:00:41.432Z",
"actor": {
"objectType": "Agent",
"mbox": "mailto:[email protected]",
"name": "My Name"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/attempted",
"display": {
"und": "attempted"
}
},
"context": {
"extensions": {
"http://tincanapi.com/JsTetris_TCAPI/gameId": "5686f104-3301-459d-9487-f84af3b3915c"
},
"contextActivities": {
"grouping": [
{
"id": "http://tincanapi.com/JsTetris_TCAPI",
"objectType": "Activity"
}
]
}
},
"object": {
"id": "http://tincanapi.com/JsTetris_TCAPI",
"objectType": "Activity",
"definition": {
"type": "http://adlnet.gov/expapi/activities/media",
"name": {
"en-US": "Js Tetris - Tin Can Prototype"
},
"description": {
"en-US": "A game of tetris."
}
}
}
}
Ich habe versucht mit:
var test1 = Request.ToString(); **EMPTY STRING**
var test1 = Request.Content.ReadAsStringAsync().Result; **EMPTY STRING**
var test2 = Request.Content.ReadAsFormDataAsync().Result; **THROWS FORMATTER ERROR DESPITE config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); added in the webapiconfig.cs
- Siehe hierzu: stackoverflow.com/questions/17971548/... Und nach erhalten Sie der Inhalt wird als Zeichenfolge, die Sie verwenden können, System.Web.Script.Serialisierung der Klasse, die Serialisierung und Deserialisierung Methoden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage abrufen, die die gesendeten Anweisung Werte an, indem Sie meinen WebAPI-controller wie folgt:
Versuchen Sie dies: