Son zamanlarda web api .Net çekirdek 2.2'den .Net çekirdek 3.0'a yükselttim ve son noktama bir yayında bir numaralandırma ilettiğimde isteklerimin bir hata aldığını fark ettim. Örneğin:
API uç noktam için aşağıdaki modele sahibim:
public class SendFeedbackRequest
{
public FeedbackType Type { get; set; }
public string Message { get; set; }
}
FeedbackType şöyle görünür:
public enum FeedbackType
{
Comment,
Question
}
Ve bu denetleyici yöntemidir:
[HttpPost]
public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request)
{
var response = await _feedbackService.SendFeedbackAsync(request);
return Ok(response);
}
Ben bu post gövdesi olarak denetleyiciye göndermek nerede:
{
message: "Test"
type: "comment"
}
Ve şimdi bu uç noktaya gönderilirken aşağıdaki hata mesajını alıyorum:
The JSON value could not be converted to MyApp.Feedback.Enums.FeedbackType. Path: $.type | LineNumber: 0 | BytePositionInLine: 13."
Bu 2.2'de çalışıyordu ve 3.0'da hatayı başlattı. 3.0'da değişen json serileştirici hakkında konuştum, ama bunun nasıl ele alınacağından emin değilim.