XYZController.cs
[HttpPost]
public async Task<ActionResult> Post([FromBody] T inputContext)
{
var outputContext = Process(inputContext);
return StatusCode(200, outputContext );
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddJsonOptions(options =>
{
UpdateJsonSettings.ConfigureJsonFormatter(options.SerializerSettings);
});
}
UpdateJsonSettings.cs
internal static void ConfigureJsonFormatter(JsonSerializerSettings settings)
{
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
settings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
settings.Converters.Add(new StringEnumConverter());
}
HttpResponse для контроллера XYZ Попробуйте 1:
{"$ id": "1", "bill": {"$ id": "2", "type": "TYPE1",
HttpResponse для контроллера XYZ Попробуйте 2: - делает не начинать с $ id 1
{ "$ id": "28", <--- НЕ УВЕРЕН, ПОЧЕМУ ПО ВТОРОМУ ЗАПРОСУ $ ID начинается с 28 :( -> " bill ": {" $ id ":" 29 "," type ":" TYPE1 ",
HttpResponse для контроллера XYZ Попытка 3: - не начинается с $ id 1
{ "$ id": "55", <--- НЕ УВЕРЕН, ПОЧЕМУ ПО ВТОРОМУ ЗАПРОСУ $ ID начинается с 55 :( -> "bill": { "$ id": "56" , "type": "TYPE1",
Я использую Newtonsoft. Json (11.0.2)