Post données JSON à l'API web à l'aide de l'objet en C#

J'ai pu écrire le code pour effectuer l'opération d'acquisition à partir d'une API web. Mais, je ne suis pas en mesure de POSTER. Je pense que le problème est avec l'objet JSON. Je suis en mesure de POSTER si les paramètres sont envoyés via l'URL, mais je ne suis pas en mesure de le faire si c'est un Objet JSON. Par exemple: Le POST m'oblige à envoyer ModelID, code client via l'URL et ReferenceString comme un objet JSON.

Données de POST

ModelID = 3345

CustomerID =1V34858493

ReferenceID est une chaîne JSON[]

[
{
"ReferenceId": "a123"
}
]

Principal

 static void Main(string[] args) 
    {
       //JavaScriptSerializer serializer = new JavaScriptSerializer();

        string patientServiceResponse = PostRequest( string.Format("https://url.com/api/{0}/{1}/taskOrders", 3345, "1V34858493"));

        Debug.Write(patientServiceResponse);
    }

Requête POST

private static string PostRequest(string url)
    {
        HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
        httpWebRequest.ContentType = "application/json; charset=utf-8";
        httpWebRequest.Method = "POST";
        httpWebRequest.Accept = "application/json; charset=utf-8";
        string sContentType = "application/json";

        JObject oJsonObject = new JObject();

        oJsonObject.Add("ReferenceId", "a123");

        HttpClient oHttpClient = new HttpClient();
        var oTaskPostAsync = oHttpClient.PostAsync(url, new StringContent(oJsonObject.ToString(), Encoding.UTF8, sContentType));

        //return 
    }

Pouvez vous s'il vous plaît corrigez-moi où je vais mal.

  • Déboguer l'application et vérifiez que la chaîne de contenu que vous êtes vraiment à la publication. Le comparer avec celui que vous avez eu à les poster
  • Pourquoi êtes-vous de mélange HttpWebRequest et HttpClient?
  • L'OP est aussi la création d'un obsolète sérialiseur instance. Peut-être un genre de papillon ;o)
  • Je suis désolé, je suis encore à essayer de comprendre le concept ici. Pouvez vous s'il vous plaît fournir un guide de référence pour publier des données JSON. Je vous en serais reconnaissant
  • Est-il une raison pourquoi vous initialisez JavaScriptSerializer serializer mais jamais l'utiliser?
  • Vous êtes à la création d'un HttpWebRequest et ne rien faire avec elle. Alors vous êtes à la publication des données à l'aide d'un HttpClient. Vous devez choisir l'un ou l'autre, ne pas les mélanger, et de ne pas créer une demande et ensuite de ne pas l'envoyer
  • S'il vous plaît ajouter un échantillon JSON comme décrit par la documentation de l'API avec plus d'une id de référence. La description actuelle ReferenceId est une chaîne de caractères[] ne correspond pas à votre JSON de l'échantillon [{"ReferenceId":"a123"}]

InformationsquelleAutor shockwave | 2017-06-26