Веб-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);
    }

0 ответов

Другие вопросы по тегам