Я работаю над .net core 6.0
веб-API. я столкнулся с проблемой на
тестирование web api
почтальоном.
моя проблема, как отправить параметры для обновления веб-API
метод .
Итак, как отправить идентификатор с объектом на теле для обновления действия.
{
"itemId": 4,
"itemNameAR": "قلم",
"itemNameEN": "pen2",
"costTypeId": 1,
"minLimitQunatity": 1,
"costAccountID": 1,
"departmentID": 1,
"itemCategoryId": 1,
"description": "1",
"hasExpireDate": true,
"isActive": true,
"createdBy": 1,
"modifiedBy": 1,
"createdDate": "0001-01-01T00:00:00",
"modifiedDate": "0001-01-01T00:00:00",
"itemattribute": null
}
при отправке API, как показано ниже
https://localhost:7235/api/items?id=4
так как решить проблему, пожалуйста?
[HttpPut("{id}")]
public async Task<IActionResult> Update(int id, UpdateItemCommand command)
{
if (id != command.Id)
{
return BadRequest();
}
return Ok(await Mediator.Send(command));
}
что я пытаюсь отправить api request
Веб-API Не пойман и не поражен, хотя я запускаю свой веб-API.
Обновленный пост я меняю URL-адрес почтового человека, как показано ниже
https://localhost:7235/api/4
но до сих пор проблема не решена
отображение ошибки 400 неверный запрос ошибка деталей
{
"errors": {
"Fax": [
"The Fax field is required."
],
"City": [
"The City field is required."
],
"Phone": [
"The Phone field is required."
],
"Region": [
"The Region field is required."
],
"Address": [
"The Address field is required."
],
"Country": [
"The Country field is required."
],
"PostalCode": [
"The PostalCode field is required."
],
"ContactName": [
"The ContactName field is required."
],
"ContactTitle": [
"The ContactTitle field is required."
],
"CustomerName": [
"The CustomerName field is required."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-efde167cb6a7fa5af42abff9d055e2db-92ff55a318cb7a29-00"
}
Измените URL-адрес вашего запроса на,
https://localhost:7235/api/items/4
потому что ваш контроллер был настроен как,
[HttpPut("{id}")]
который указывает параметр пути, а не параметр запроса.
какая ошибка сейчас?
я добавляю ошибку в исходный пост выше
Теперь вы получаете 400, что означает, что URL-адрес работает. Отправленный вами запрос не соответствует ожидаемой модели данных UpdateItemCommand.
да спасибо решено только нужно знать ошибку 400 ссылку на что
не могли бы вы сказать мне, к чему относится это сообщение 400?
Первый вопрос: как выглядит модель UpdateItemCommand? можешь показать код? В вашем почтальоне тело вашего запроса представляет собой объект {"itemId": 4,...}, но в сообщении об ошибке говорится, что отсутствует факс, город... поэтому я предполагаю, что ваше тело сообщения не соответствует требуемой модели UpdateItemCommand.
Давайте продолжим обсуждение в чате.
я добавляю как ответ, но проблема не решена