Как сделать запрос PUT из ядра ASP.NET mvc в веб-API в ядре asp.net?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать запрос PUT из ядра ASP.NET mvc в веб-API в ядре asp.net?

Сообщение Anonymous »

Мне нужно сохранить изменения, которые я вношу в свою модель с помощью вызова API, в моей базе данных. Я проверил, что мой API работает нормально, когда я запускаю его индивидуально в Интернете. Но выдает ошибку: StatusCode: 405, ReasonPhrase: «Метод не разрешен». Я пытаюсь отправить и возразить, а также посмотреть, выполнен ли сделанный запрос или нет. Когда я пытаюсь отладить его, он не отправляет данные на мой контроллер API.
Вот мой класс модели:
public class Customer
{
[Required]
public Guid CustomerId { get; set; }
public int Age { get; set; }
public int Phone { get; set; }
}

Метод PUT в API:
[HttpPut]
[Route("api/[controller]/{customer}")]
public IActionResult EditCustomer(Customer customer)
{
var cust = _customerData.EditCustomer(customer);
if (cust == string.Empty)
{
return Ok();
}
else
{
return new StatusCodeResult(StatusCodes.Status500InternalServerError);
}
}

Метод, который я использую в проекте для вызова API:
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(apiBaseUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")
);
var sum = await client.PutAsJsonAsync("api/Customer/", customer);
if (sum.StatusCode == System.Net.HttpStatusCode.OK)
{
return RedirectToActionPermanent(actionName: "SingIn");
}
else
{
TempData["msg"] = "There is an error";
return View();
}

where baseaddress= {https://localhost:44398/

Метод EditCustomerpublic string EditCustomer(Customer customer)
{
try
{
var pro = _customerContext.Customer.Where(e => e.CustomerId == customer.CustomerId).FirstOrDefault();
pro.Age = customer.Age;
pro.Phone = customer.Phone;
pro.Name = customer.Name;
_customerContext.Entry(pro).State = EntityState.Modified;
_customerContext.SaveChanges();
}
catch(Exception e)
{
return e.Message;
}
return string.Empty;
}


Подробнее здесь: https://stackoverflow.com/questions/696 ... p-net-core
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запрос PUT работает с Postman, но не с axios.put для серверной части Spring Security oAuth Resource Server.
    Anonymous » » в форуме JAVA
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Ошибка метода PUT Laravel: метод PUT не поддерживается для маршрута
    Anonymous » » в форуме Php
    0 Ответы
    141 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между ThreadContext.put() и MDC.Put()?
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между ThreadContext.put() и MDC.Put()?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Получить ошибку «Неверные попытки вызвать чтение», когда программа чтения закрыта с помощью ядра Ef в ядре asp.net
    Anonymous » » в форуме C#
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»