GET和POST请求的模型差异

帕拉维奇尼

我正在使用Asp .NET Core创建Web API,并且在弄清楚如何创建数据模型时遇到了麻烦。

可以说我从后端得到以下模型:

public class Author : AuditEntity
{
    public int Id { get; set; }

    [StringLength(45)]
    public string Name { get; set; } = null!;

    public Label DescriptionLabel { get; set; } = null!;

    public int DescriptionLabelId { get; set; }

    public ICollection<Quote> Quotes { get; } = new List<Quote>();
}

当我们收到一个GET请求时,我们使用以下简单模型:

public class Author
{
    public Author() {}

    public Author(Core.Entities.Author model)
    {
        Id = model.Id;
        Name = model.Name;
        DescriptionLabel = new Label(model.DescriptionLabel);
    }

    public int Id { get; set; }

    public string Name { get; set; } = null!;

    public Label DescriptionLabel { get; set; } = null!;
}

重要的是DescriptionLabel不能为null。但是,如果我想处理POST或PUT请求,我将希望能够允许DescriptionLabel为null。所以我的问题是,我应该只使用GET模型并将标签设为可为空,还是必须创建一个新模型以使标签在那里为可为空?

对于将数据获取和发布到Web api的模型中的微小差异有哪些标准?

最高

控制器内部单独的输入输出类的简短示例。还需要注意的关键是每个控制器类只有一个方法。这是为了保持清洁。我发现这种方法简单易懂。

[ApiController]
[Route("[controller]")]
[AllowAnonymous]
public class SignIn : ControllerBase
{
    [HttpPost]
    public Output Post(Input input)
    {
        var user = Users.ValidateLoginCredentials(input.Email, input.Password);
        if (user != null)
        {
            return new Output
            {
                FirstName = user.FirstName,
                LastName = user.LastName,
                JWT = GenerateJWT(user)
            };
        }
        return null;
    }

    public class Input
    {
        public string Email { get; set; }
        public string Password { get; set; }
    }

    public class Output
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string JWT { get; set; }
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

POST请求变为GET

来自分类Dev

Http Web请求接受和期望差异

来自分类Dev

为什么使用common和post更改ContentType的差异会影响请求有效负载/表单数据?

来自分类Dev

Akka和Vert.x的消息传递模型的差异

来自分类Dev

POST请求变成GET请求

来自分类Dev

GET和POST之间的弹簧丢失模型属性

来自分类Dev

NodeJS和Express:如何打印在GET和POST请求中传递的所有参数

来自分类Dev

在Express中获取POST和GET请求的表单数据

来自分类Dev

HTTP响应(非请求)中的GET和POST之间的区别

来自分类Dev

如何在Swift中创建GET,POST和PUT请求?

来自分类Dev

POST然后GET请求

来自分类Dev

如何使用Express和React Router发送GET / POST请求?

来自分类Dev

Python Flask在合并的GET和POST请求上失败

来自分类Dev

405 - 请求GET和POST

来自分类Dev

React-使用axios的GET和POST请求

来自分类Dev

React和axios-发送GET和POST请求而不是仅发送POST

来自分类Dev

使用提取的POST和GET API请求,无法获取数据

来自分类Dev

如何在router.post请求中使用router.get请求的差异路由node.js

来自分类Dev

POST请求变为GET

来自分类Dev

如何向外部API发出GET和POST请求?

来自分类Dev

GET和POST之间的Spring Lost模型属性

来自分类Dev

HTTP响应(非请求)中的GET和POST之间的区别

来自分类Dev

iOS在同一请求中发送POST和GET

来自分类Dev

如何在PHP中读取GET和POST请求(post在json中)

来自分类Dev

在HTTPS和Tomcat上,GET请求有效,但POST请求无效

来自分类Dev

android volley请求中的get和post方法

来自分类Dev

Python 从 API 请求 POST 和 GET 以获得响应

来自分类Dev

如何使 html 网站发出 POST 和 GET 请求?

来自分类Dev

在 get 请求中嵌套 http post 请求

Related 相关文章

热门标签

归档