Веб-API не возвращает данные
В настоящее время я использую запросы Python для использования веб-API, написанного на C# в моем приложении MVC. Это ошибка, которую я получаю
<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 для редактирования этой конкретной записи. Я попытался ввести фактический URL в своем браузере, пытаясь получить эту единственную запись, набрав http://10.1.30.15/test/api/DevicesAPI/16 и получил
<Error><Message>An error has occurred.</Message></Error>
Что не очень полезно. Кажется, это работает отлично, когда я запускаю его локально, но мне не нравится, когда я публикую его на сервере. Мой метод put в моем веб-API выглядит следующим образом:
// 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);
}