当我尝试使用Postman进行简单的POST时,使用[FromBody]时,我的ASP.NET资源/模型对象的主体值为null。例如,我在postman的Body部分设置我的参数,并使用POST:http://example.net/api/product通过postman调用这个简单的url。当我在控制器中断时,我的model参数的值为null。
为什么我的参数不能转换为有效的资源主体?
答案 0 :(得分:0)
事实证明,我的控制器设置正确,但我没有正确设置Postman。要将POST的数据从Postman发送到ASP.NET控制器,您必须转到Postman中的Body选项卡 1)输入参数 2)选择" x-www-form-urlencoded"单选按钮 3)确保您没有在Headers选项卡上设置Accept-Type。这很重要,因为它会覆盖" x-www-form-urlencoded" Accept-Type,将导致您的模型无法在ASP.NET控制器中正确转换。在我的示例中,我将此设置保留为Accept-Type = application / json,这个错误导致我的模型无法翻译。
通过正确设置,我的控制器能够将我的POST数据正确地转换为我的模型。