Web api没有带回数据

时间:2015-07-28 18:18:23

标签: asp.net-web-api asp.net-mvc-5 python-requests

我目前正在使用python请求来使用我的MVC应用程序中用c#编写的web api。这是我得到的错误

<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>405 - HTTP verb used to access this page is not allowed.</h2>
  <h3>The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.</h3>
 </fieldset></div>
</div>
</body>

这是我正在使用的python代码

constURLString = "http://10.1.30.15/test/api/DevicesAPI"
send = requests.put(constURLString + "/" + str(deviceID), data = urlParam)

urlParam是我传回webapi的模型,用于编辑该特定条目。我尝试在我的浏览器中输入实际的网址,尝试输入http://10.1.30.15/test/api/DevicesAPI/16并获得

来获取该单个条目
<Error><Message>An error has occurred.</Message></Error>

哪个不是很有帮助。当我在本地运行时,这似乎工作得很好但是当我将它发布到服务器时似乎不喜欢它。我的web api中的put方法按原样执行:

// PUT: api/DevicesAPI/5
    [ResponseType(typeof(void))]
    public IHttpActionResult PutDevices(long id, Devices devices)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        if (id != devices.deviceID)
        {
            return BadRequest();
        }

        db.Entry(devices).State = EntityState.Modified;

        try
        {
            db.SaveChanges();
        }
        catch (DbUpdateConcurrencyException)
        {
            if (!DevicesExists(id))
            {
                return NotFound();
            }
            else
            {
                throw;
            }
        }

        return StatusCode(HttpStatusCode.NoContent);
    }

0 个答案:

没有答案