Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net mvc中将多个模型绑定到单个控制器的方法_.net_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

asp.net mvc中将多个模型绑定到单个控制器的方法

asp.net mvc中将多个模型绑定到单个控制器的方法,.net,asp.net-core,asp.net-core-mvc,.net,Asp.net Core,Asp.net Core Mvc,我正在用承载令牌身份验证系统实现无状态API。我想要的是将请求中的数据与方式绑定,该方式将与以下签名相对应: void索引(DataModelModelFromRequestData,UserModelUserFromBearToken){…} 是否可能?如果可能,最好的实施方式是什么?谢谢。技术上说,不行。原因很简单,您只能在请求正文中发布一个对象 但是,可以创建具有两个包含模型的属性的ViewModel public class DataViewModel { public Dat

我正在用承载令牌身份验证系统实现无状态API。我想要的是将请求中的数据与方式绑定,该方式将与以下签名相对应:

void索引(DataModelModelFromRequestData,UserModelUserFromBearToken){…}


是否可能?如果可能,最好的实施方式是什么?谢谢。

技术上说,不行。原因很简单,您只能在请求正文中发布一个对象

但是,可以创建具有两个包含模型的属性的ViewModel

public class DataViewModel 
{
    public DataModel Data { get; set; }
    public UserModel User { get; set; }
}
并将其传递给操作,并通过参数获取它

然而,您的特定用例没有什么意义。你他妈的为什么要这样传递持票人代币


典型的方法是通过
Authorization
头传递它,让您的授权中间件处理它(标识或您使用的任何内容),然后通过控制器中的
user
属性访问用户及其声明。不要试图重新发明轮子:)

从技术上讲,你不能。原因很简单,您只能在请求正文中发布一个对象

但是,可以创建具有两个包含模型的属性的ViewModel

public class DataViewModel 
{
    public DataModel Data { get; set; }
    public UserModel User { get; set; }
}
并将其传递给操作,并通过参数获取它

然而,您的特定用例没有什么意义。你他妈的为什么要这样传递持票人代币

典型的方法是通过
Authorization
头传递它,让您的授权中间件处理它(标识或您使用的任何内容),然后通过控制器中的
user
属性访问用户及其声明。不要试图重新发明轮子:)