Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How Do I Post Raw Json Using RestSharp?

I have an endpoint that takes a Json object that has a message element and then the rest can have different properties. Here's an example:

public void SendMessage(IDictionary<string, string> message)
{
    var client = new RestClient(MahUrl);
    var request = new RestRequest(Method.POST);
    var json = new JObject();

    foreach (var pair in message)
    {
        json.Add(pair.Key, pair.Value);
    }
    json = new JObject(new JProperty("message", json));
    // {
    //     "message":
    //     {
    //         "prop1": "val1",
    //         "foo": "bar",
    //         "batman": "robin"
    //     }
    // }

    // not quite sure here
    request.?

    // send request
}

I've seen a bunch of examples of how you can serialize/deserialize a .Net object but as you can see, the json object's properties could be anything. How can I just post raw json using RestSharp?

like image 575
bressain Avatar asked Sep 10 '12 16:09

bressain


1 Answers

I believe the following snippet is what you're looking for.

request.AddParameter("application/json", json, ParameterType.RequestBody);
like image 135
Rune Vikestad Avatar answered Oct 12 '22 23:10

Rune Vikestad