Gần đây tôi đã nâng cấp api web của mình từ .Net core 2.2 lên .Net core 3.0 và nhận thấy rằng các yêu cầu của tôi hiện đang bị lỗi khi tôi chuyển một enum trong một bài đăng đến điểm cuối của tôi. Ví dụ:
Tôi có mô hình sau cho điểm cuối api của mình:
public class SendFeedbackRequest
{
public FeedbackType Type { get; set; }
public string Message { get; set; }
}
Trường hợp FeedbackType trông như vậy:
public enum FeedbackType
{
Comment,
Question
}
Và đây là phương thức điều khiển:
[HttpPost]
public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request)
{
var response = await _feedbackService.SendFeedbackAsync(request);
return Ok(response);
}
Nơi tôi gửi cái này làm thân bài cho bộ điều khiển:
{
message: "Test"
type: "comment"
}
Và tôi hiện đang nhận được lỗi sau khi đăng lên điểm cuối này:
The JSON value could not be converted to MyApp.Feedback.Enums.FeedbackType. Path: $.type | LineNumber: 0 | BytePositionInLine: 13."
Điều này đã làm việc trong 2.2 và bắt đầu lỗi trong 3.0. Tôi đã thấy nói về bộ nối tiếp json thay đổi trong 3.0, nhưng không chắc nên xử lý việc này như thế nào.