Recentemente, atualizei minha API da Web do .Net core 2.2 para o .Net core 3.0 e notei que minhas solicitações estão recebendo um erro agora quando passo uma enumeração em uma postagem para o endpoint. Por exemplo:
Eu tenho o seguinte modelo para o meu ponto de extremidade da API:
public class SendFeedbackRequest
{
public FeedbackType Type { get; set; }
public string Message { get; set; }
}
Onde o FeedbackType se parece com isso:
public enum FeedbackType
{
Comment,
Question
}
E este é o método do controlador:
[HttpPost]
public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request)
{
var response = await _feedbackService.SendFeedbackAsync(request);
return Ok(response);
}
Onde eu envio isso como o corpo da postagem para o controlador:
{
message: "Test"
type: "comment"
}
E agora estou recebendo o seguinte erro ao postar neste endpoint:
The JSON value could not be converted to MyApp.Feedback.Enums.FeedbackType. Path: $.type | LineNumber: 0 | BytePositionInLine: 13."
Isso estava funcionando no 2.2 e iniciou o erro no 3.0. Eu vi falar sobre o serializador json mudando no 3.0, mas não sei como isso deve ser tratado.