I have such endpoint in my controller :
public async Task<<IEnumerable<ItemsList>>> GetItems()
{
List<ItemsList>> items = await _itemManager.GetItemsAsync();
return items;
}
And when I get result from this endpoint :
{
"Type": "SomeType",
"Items":[{"Id":1,"ItemType":"SomeType"}]
}
but I want to be Camel Case, such as :
{
"type": "SomeType",
"items":[{"id":1,"itemType":"SomeType"}]
}
Here is of
public class ItemsList
{
public ItemType Type { get; set; }
public List<Items> Items { get; set; }
}
public class Item
{
public int ItemId { get; set; }
public ItemType ItemType { get; set; }
}
I found solution like :
public async Task<<IEnumerable<ItemsList>>> GetItems()
{
List<ItemsList>> items = await _itemManager.GetItemsAsync();
var serializerSettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
return Json(items),serializerSettings);
}
So, what I want to do it's to create Attribute, which can be applied to specific endpoint and make result from the endpoint to be camelCase.
Applying Json attributes to Dto's or formatting the whole controller isn't my case.