#asp.net-core #http-post #postman #asp.net-core-webapi
#asp.net-core #http-post #postman #asp.net-core-webapi
Вопрос:
Я пытаюсь использовать postman для тестирования моего метода POST, однако я получаю ошибку 500, и при вызове в методе try catch моего api попытка завершается неудачно и выдает ошибку, но я не уверен, почему или как это выяснить.
Я хотел бы ввести любые фиктивные данные в свой «message_Chain», и я скопировал приведенный ниже код, может кто-нибудь, пожалуйста, скажите мне, что я сделал не так? Я очень новичок в использовании веб-API и postman, поэтому я не уверен, как отследить, где что-то пошло не так.
РЕДАКТИРОВАТЬ — также как мне отобразить более подробную информацию о том, что на самом деле представляет собой ошибка 500 в postman, чтобы я мог понять, почему она была выброшена?
// POST: api/Message_Chain
// To protect from overposting attacks, enable the specific properties you want to bind to, for
// more details, see https://go.microsoft.com/fwlink/?linkid=2123754.
[HttpPost]
public async Task<ActionResult<Message_Chain>> PostMessage_Chain(Message_Chain message_Chain)
{
_context.Message_Chain.Add(message_Chain);
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (Message_ChainExists(message_Chain.MessageChainId))
{
return Conflict();
}
else
{
throw;
}
}
return CreatedAtAction("GetMessage_Chain", new { id = message_Chain.MessageChainId }, message_Chain);
}
public class Message_Chain
{
[Key]
public int MessageChainId { get; set; }
public int MessageSubjectId { get; set; }
public string MessageBody { get; set; }
public int SentFromId { get; set; }
public DateTime DateTime { get; set; }
public Message_Subject Message_Subject { get; set; }
public ICollection<Colleague_Message> Colleague_Message { get; set; }
}
}
Это то, что я вставил в postman,
POST > http://<my url>/api/Message_Chain
BODY > JSON
{
"messageChainId": 10,
"messageSubjectId": 10,
"messageBody": "Testing my post to message chain method from postman",
"sentFromId": 1000001,
"dateTime": "2020-11-05T12:15:00"
}
Комментарии:
1. Пожалуйста, проверьте тип ошибки в консоли. Потому что я не могу воспроизвести ошибку в этом коде.
Ответ №1:
попробуйте это
[HttpPost]
public async Task<ActionResult<Message_Chain>> PostMessage_Chain([FromBody] Message_Chain message_Chain)
{
_context.Message_Chain.Add(message_Chain);
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (Message_ChainExists(message_Chain.MessageChainId))
{
return Conflict();
}
else
{
throw;
}
}
return CreatedAtAction("GetMessage_Chain", new { id = message_Chain.MessageChainId }, message_Chain);
}
Комментарии:
1. спасибо за ответ, не повезло, к сожалению, я получаю ту же ошибку