I am new to writing APIs. I am writing a post method that will receive JSon object as part of the body but I don't know how to read the body or possibly I'm not passing it properly in my test. I can see that the payload is there because the ContentLength matches exactly. The payload parameter is always null. This will be called from outside our company, so I have no control over how the payload is passed.

```
    [HttpPost("{site}/{customer}")]
    [Consumes("application/json")]
    public IActionResult Post([FromBody]JObject payload)
    {
        System.Threading.Tasks.Task<string> body = null;

        using (MemoryStream mem = new MemoryStream())
        using (StreamReader reader = new StreamReader(mem, Encoding.UTF8))
        {
            Request.Body.CopyToAsync(mem);
            body = reader.ReadToEndAsync();
        }

        if (payload == null)
        {
            return BadRequest();
        }

        string site = this.ControllerContext.RouteData.Values["site"] != null ? this.ControllerContext.RouteData.Values["site"].ToString() : null;
        string customer = this.ControllerContext.RouteData.Values["customer"] != null ? this.ControllerContext.RouteData.Values["customer"].ToString() : null;

        body.Dispose();

        return Ok();
    }

    static void Main(string[] args)
    {
        IRestResponse response;

        JObject json;
        string temp = "{\"name\":\"Fred\"}";
        json = JObject.Parse(temp);

        RestRequest request = new RestRequest(Method.POST) { RequestFormat = DataFormat.Json };
        request.AddHeader("content-type", "application/json");

        RestClient client = new RestClient("https://localhost:99999/api/Weather/XXX/1234");

        // Tried this
        request.AddJsonBody(json);

        // Tried this
        RequestBody body = new RequestBody("application/json", "payload", json);
        request.Body = body;

        // Tried this
        request.AddParameter("application/json", json, ParameterType.RequestBody);

        response = client.Post(request);
    }

```