C# 某些参数未使用postman过帐到操作方法
我正在使用MVC和.NET4.7来创建一个RESTAPI,我可以用它来发布一些数据。现在,作为测试,我将向一个名为“AddImage”的方法发布四个字符串参数,该方法应该接收这些参数。当我使用postman测试post时,我只得到了方法中的两个参数,而另外两个根本不存在 原始示例: 例如,我将发布 { “图像文件”:“asdf”, “文件名”:“aswd”, “站点ID”:“asdf”, “isCreateThumbnail”:“false” } 但是,当我在MVC中调试该方法时,唯一具有任何值的参数是“filename”和“iscreate缩略图” 我尝试将所有参数作为对象的一部分添加并传递,但可能我也做错了:C# 某些参数未使用postman过帐到操作方法,c#,asp.net-mvc,http-post,C#,Asp.net Mvc,Http Post,我正在使用MVC和.NET4.7来创建一个RESTAPI,我可以用它来发布一些数据。现在,作为测试,我将向一个名为“AddImage”的方法发布四个字符串参数,该方法应该接收这些参数。当我使用postman测试post时,我只得到了方法中的两个参数,而另外两个根本不存在 原始示例: 例如,我将发布 { “图像文件”:“asdf”, “文件名”:“aswd”, “站点ID”:“asdf”, “isCreateThumbnail”:“false” } 但是,当我在MVC中调试该方法时,唯一具有任何值
//Code from project
public struct imagedetails
{
public string imagefile;
public string filename;
public string siteid;
public string isCreateThumbnail;
}
[HttpPost]
public ActionResult AddImage(imagedetails image)
{
logEvent(6, "API_AddImage", string.Format("Params: filename:{0}, siteid:{1}, isCreateThumbnail:{2}", image.filename, image.siteid, image.isCreateThumbnail), "", 1);
return View();
}
我从邮递员那里发了这样的东西:
{“图像”:{
“图像文件”:“asdf”,
“文件名”:“aswd”,
“站点ID”:“asdf”,
“isCreateThumbnail”:“false”
}
}好的,首先我强烈建议您将这些字符串参数放入模型中,这样您的代码从现在起将更加干净,更易于编写(例如,将参数传递给处理这些参数的类)。事实上,这甚至可以一直解决你的问题
至于单独的参数,我只能猜测默认值可能会把事情搞砸。删除参数并尝试一个一个地添加它们,这样您就可以确定错误所在。好的,首先我强烈建议您将这些字符串参数放入一个模型中,这样您的代码从现在开始将更干净、更易于编写(例如,将参数传递给处理这些参数的类)。事实上,这甚至可以一直解决你的问题
至于单独的参数,我只能猜测默认值可能会把事情搞砸。删除参数并尝试逐个添加,这样您就可以确定问题出在哪里。感谢您尝试帮助我解决代码中的问题。最后我重新启动了电脑,查看web.config并找到了一个修复程序。我改变了两件事,在web.config中,我注意到标记“system.web”是用两个不同的.net框架设置的:
<system.web>
<compilation debug="true" targetFramework="4.7.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
我更改的第二件事是将正在运行的配置更新为“Debug”。我不知道为什么它被设置为“Release”,但可能是我无意中这样做了。谢谢您尝试帮助我解决代码的问题。最后我重新启动了电脑,查看web.config并找到了一个修复程序。我改变了两件事,在web.config中,我注意到标记“system.web”是用两个不同的.net框架设置的:
<system.web>
<compilation debug="true" targetFramework="4.7.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
我更改的第二件事是将正在运行的配置更新为“Debug”。我不知道为什么设置为“Release”,但可能是我无意中这样做了。请在PostMant中发布您的请求的屏幕截图感谢您的回复。我添加了一个图像链接。我的代表还不允许我完全添加图像。在正文中为您添加图像只是一个猜测,但您不应该将条目作为字符串传递,而不是作为对象的一部分传递吗?相反,您可以将参数包装到c#端的对象中。这听起来可能很愚蠢,但我如何将参数作为字符串传递?请在PostMant中发布您请求的屏幕截图感谢您的响应。我添加了一个图像链接。我的代表还不允许我完全添加图像。在正文中为您添加图像只是一个猜测,但您不应该将条目作为字符串传递,而不是作为对象的一部分传递吗?相反,你可以在c端将参数包装成一个对象。这听起来可能很愚蠢,但我如何将参数作为字符串传递呢?我正在更新帖子。我刚试着把参数放入一个模型中,但我不相信我是从邮递员那里正确测试的。你发布的数据看起来很好。起初我以为肠衣可能会脱落,但没问题。我正在更新帖子。我刚试着把参数放入一个模型中,但我不相信我是从邮递员那里正确测试的。你发布的数据看起来很好。起初我以为外壳可能会脱落,但这些都很好。