szp*_*pic -1 c# asp.net-core-webapi
我有这样的课程:
public class Creature
{
public string Town { get; set; }
public string Name { get; set; }
public int Level { get; set; }
public bool Upgrade { get; set; }
public int Attack { get; set; }
public int Defence { get; set; }
public int MinDamage { get; set; }
public int MaxDamage { get; set; }
public int Speed { get; set; }
public int Hp { get; set; }
public int Cost { get; set; }
}
public class CreaturesList
{
public List<Creature> Creatures { get; set; }
}
public class ReadCreatures : IReadCreatures
{
public Creature GetCreature(string name)
{
var result = GetData();
return result.Creatures.Where(w => w.Name.ToLower().Equals(name.ToLower())).FirstOrDefault();
}
protected CreaturesList GetData() => JsonSerializer.Deserialize<CreaturesList>(heroes3wiki.Properties.Resources.Creatures);
}
}
Run Code Online (Sandbox Code Playgroud)
和控制器:
public class CreaturesController : ControllerBase
{
private readonly ILogger<CreaturesController> _logger;
private readonly IReadCreatures _getCreatures;
public CreaturesController(ILogger<CreaturesController> logger , IReadCreatures getCreatures)
{
_logger = logger;
_getCreatures = getCreatures;
}
[HttpGet]
public IEnumerable<Creature> Get() => _getCreatures.GetCreatures();
[HttpGet("{name}")]
public Creature Get(string name) => _getCreatures.GetCreature(name);
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我拥有生物类第一个大写字母的所有属性。但是当我调用这个端点时,我收到如下数据:
{"town":"Castle","name":"Pikeman","level":1,"upgrade":false,"attack":4,"defence":5,"minDamage":1,"maxDamage":3,"speed":4,"hp":10,"cost":60}
Run Code Online (Sandbox Code Playgroud)
谁能向我解释一下,这应该是这样,还是我在某个地方出错了?
Asp.Net Core 改变了默认行为(我认为是在 2.x 和 3.x 之间)。
如果您想保留属性名称(并且不更改大小写),则需要将其设置PropertyNamingPolicy 为null:
public void ConfigureServices(IServiceCollection services)
{
services
.AddControllers()
.AddJsonOptions(options => {
options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
}
Run Code Online (Sandbox Code Playgroud)
来自JsonSerializerOptions.PropertyNamingPolicy的文档:
属性命名策略,或
null保持属性名称不变。
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |