【问题标题】:Put request is not working using postman to web api 2 c#使用邮递员到 web api 2 c# 将请求不起作用
【发布时间】:2018-07-26 02:03:32
【问题描述】:

我在Api中有一个方法如下

[HttpPut]
        [Route("UpdateTeacher")]
        public IHttpActionResult UpdateTeacher(BusinessLayerTeacher Obj)
        {
            try
            {
                BusinessLayerTeacher obj = new BusinessLayerTeacher ();
                string status = BusinessLayerObject.UpdateTeacher(TeacherObj);
                return Ok(status);
            }
            catch
            {
                return NotFound();
            }
        }

现在在邮递员中,我正在发送 put 请求以更新教师对象。 它没有触发这个 updateTeacher() 方法。

【问题讨论】:

  • 在 Postman 中的 URL 是什么样的?服务器在哪个主机/端口上运行?会发生什么?
  • 检查您的 IIS/服务器是否允许放置请求。似乎您的服务器在传递给 Web API 之前拒绝它们
  • 看来你没有在任何地方使用你所放的价值,Obj。每次尝试更新记录时,都会创建一个新的BusinessLayerTeacher 并尝试更新它。
  • 如何知道我的服务是否接受放置请求
  • 请参阅此问题以了解如何启用 PUT。 stackoverflow.com/q/6739124/108847

标签: c# asp.net-web-api2 postman


【解决方案1】:

您正在方法内实例化一个新的 BusinessLayerTeacher 对象,当您已经将 BusinessLayerTeacher 作为参数传入时,这看起来很可疑。

可能路由映射不起作用,因为您没有在请求正文中传递正确的数据。

也许您应该使用 TeacherObj 作为参数类型?

进行评论并尝试一下,祝你好运:-)

【讨论】:

    猜你喜欢
    • 2019-03-03
    • 2021-03-08
    • 2018-03-26
    • 1970-01-01
    • 2019-05-27
    • 2021-12-04
    • 2021-03-24
    • 2017-08-21
    • 1970-01-01
    相关资源
    最近更新 更多