Como receber dados dinâmicos no método Post do controlador de API da Web

O jqgrid publica dados json no buffer de solicitação POST como

{"headerData": {
    "Tasudok": "134",
    "Kuupaev": "2015-11-23",
    "Dokumnr": "135319"
   },


"rowData": {
  "Toode":"",
  "Kogus":"0.0000",
  "Nimetus":"öäölä<a",
  "_rowsum":"0.00",
  "Id":"1639",
  "Dokumnr":"135319",
  "_oper":"edit",
  "_rowid":"1639"
  }
}

Os dados são publicados na API da Web do ASP.NET MVC4 usando URL comoAPI/Entity/someid?culture=en&layout=1 com roteamento padrão.

headerData erowData As propriedades de valor são definidas em tempo de execução e podem variar.

Por exemplo, em algumas chamadas rowData pode conter propriedades adicionais e algumas propriedades rowData podem estar ausentes.

culture elayout os parâmetros de consulta são opcionais.

Como receber parâmetros no controlador WebAPI?

eu tentei

public class EntityController : APIController
{

public class PostParams {
    public string culture { get; set; }
    public int? layout { get; set; }
    }

    public HttpResponseMessage Post(string id, 
      [FromUri]PostParams optionalParams,
      [FromBody]IList<NameValue> headerData,
      [FromBody]IList<NameValue> rowData )
    { ... }


public class NameValue
{
    public string name, value;
}
}

Mas headerData e rowData estão vazios. Como obter todos os parâmetros?

questionAnswers(1)

yourAnswerToTheQuestion