Recientemente actualicé mi API web de .Net core 2.2 a .Net core 3.0 y noté que mis solicitudes están recibiendo un error ahora cuando paso una enumeración en una publicación a mi punto final. Por ejemplo:
Tengo el siguiente modelo para mi punto final de la API:
public class SendFeedbackRequest
{
public FeedbackType Type { get; set; }
public string Message { get; set; }
}
Donde el FeedbackType se ve así:
public enum FeedbackType
{
Comment,
Question
}
Y este es el método del controlador:
[HttpPost]
public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request)
{
var response = await _feedbackService.SendFeedbackAsync(request);
return Ok(response);
}
Donde envío esto como el cuerpo de la publicación al controlador:
{
message: "Test"
type: "comment"
}
Y ahora recibo el siguiente error al publicar en este punto final:
The JSON value could not be converted to MyApp.Feedback.Enums.FeedbackType. Path: $.type | LineNumber: 0 | BytePositionInLine: 13."
Esto funcionaba en 2.2 y comenzó el error en 3.0. Vi hablar sobre el serializador json cambiando en 3.0, pero no estoy seguro de cómo se debe manejar esto.