ASP.NET Core Web API将所有枚举发布为第0个选项

amdorsey12

我已经开始构建一个webapi。我有一个像这样的模型类:

public class ParentItem
    {
        public long Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Address { get; set; }
        public string Profession { get; set; }
        public string PhoneNumber { get; set; }
        public CaretakerType Caretaker { get; set; }
        public string Email { get; set; }
        
    }

    public enum CaretakerType 
    {
        Father,
        Mother,
        LegalGuardian,
        EmergencyContact
    }

目前的post方法只是默认方法

        [HttpPost]
        public async Task<ActionResult<ParentItem>> PostParentItem(ParentItem parentItem)
        {
            _context.ParentItems.Add(parentItem);
            await _context.SaveChangesAsync();

            return CreatedAtAction(nameof(GetParentItem), new { id = parentItem.Id }, parentItem);
        }

但是,每当我用邮递员测试post方法时,就像这样:

{
    "firstName": "Person",
    "lastName" : "Name",
    "address" : "an address",
    "profession": "a profession",
    "phoneNumber": "a number",
    "caretakerType": "Mother",
    "email": "an email"
}

使用Raw单选按钮并作为JSON类型,它总是返回

{
    "id": 1,
    "firstName": "Person",
    "lastName": "Name",
    "address": "an address",
    "profession": "a profession",
    "phoneNumber": "a number",
    "caretaker": "Father",
    "email": "an email"
}

我说母亲,LegalGuardian或EmergencyContact并不重要,它总是以“父亲”的身份出现。为什么是这样?目标框架是net5.0。我目前正在使用EntityFrameworkCore.SqlServer和EntityFrameworkCore.InMemory。

JSON的名称与DTO类的属性名称不同。

public class ParentItem
    {
        public long Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Address { get; set; }
        public string Profession { get; set; }
        public string PhoneNumber { get; set; }
        public CaretakerType Caretaker { get; set; }  // <---- "Caretaker"
        public string Email { get; set; }
        
    }
{
    "firstName": "Person",
    "lastName" : "Name",
    "address" : "an address",
    "profession": "a profession",
    "phoneNumber": "a number",
    "caretakerType": "Mother",            // <-- "caretakerType"
    "email": "an email"
}

将您的JSON更改为此:

{
    "firstName": "Person",
    "lastName" : "Name",
    "address" : "an address",
    "profession": "a profession",
    "phoneNumber": "a number",
    "caretaker": "Mother",            // <-- "caretaker"
    "email": "an email"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调试asp.net core web API

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

如何从Web API调用ASP.NET Core Web MVC

来自分类Dev

ASP .Net Core Web 应用程序调用 Web API

来自分类Dev

在Asp.net Core中将字典发布到Web API

来自分类Dev

具有COM对象的ASP.NET CORE WEB API

来自分类Dev

使用Web API的ASP.Net Core路由

来自分类Dev

ASP.NET Core 1.0 Web API不返回XML

来自分类常见问题

使用VSTS的ASP.NET Core Web API的CI / CD

来自分类Dev

ASP.NET Core Web Api自动帮助页面

来自分类Dev

ASP.NET Core 1.0 Web API使用camelcase

来自分类Dev

Odata ASP.NET Core 2.2 Web API分页

来自分类Dev

ASP.NET Core Web API和角色授权

来自分类Dev

从ASP .NET Core Web API方法返回完整的XML响应

来自分类Dev

ASP.NET Core Web API InvalidOperationException:无法解析服务

来自分类Dev

asp.net core 2 Web API超时问题

来自分类Dev

在本地托管Asp.net Core Web Api

来自分类Dev

C#ASP.NET Core Web API包含在何处

来自分类Dev

ASP Net Core Web API自定义模型验证

来自分类Dev

ASP.NET Core Web API引发HTTP 500

来自分类Dev

无法从asp.net core web api获得角度响应

来自分类Dev

创建 swagger 示例模型 asp.net core web api

来自分类Dev

ASP.NET Core web api 编辑 Bearer auth

来自分类Dev

将文件从ASP.NET MVC 4.6应用程序发布到ASP.NET Core Web API

来自分类Dev

通过AJAX将JSON对象发布到ASP.NET Core Web API

来自分类Dev

无法将值从 angular 服务发布到 asp.net core angular 中的 Web API

来自分类Dev

驻留在ASP.NET 4 IIS网站中的ASP.NET Core Web API

来自分类Dev

使用.NET Core Web API作为ASP.NET Web窗体应用程序的子路由

来自分类Dev

Asp Net Core Web Api POST Request.Body 总是长度为 0

Related 相关文章

热门标签

归档