Để thêm thông tin để trả lời được chấp nhận:
Có ba nguồn mà từ đó các thông số đang bị ràng buộc tự động mà không cần dùng một thuộc tính:
giá trị biểu mẫu: Đây là những giá trị hình thức mà đi yêu cầu HTTP sử dụng phương thức POST. (bao gồm các yêu cầu của jQuery POST).
Giá trị tuyến đường: Tập hợp các giá trị tuyến đường được cung cấp bởi Định tuyến
Chuỗi truy vấn: Phần chuỗi truy vấn của URI.
Lưu ý rằng Body
KHÔNG phải là một trong số chúng (mặc dù tôi nghĩ là phải).
Vì vậy, nếu bạn có các giá trị cần được ràng buộc khỏi phần thân, bạn PHẢI sử dụng thuộc tính binding attribute.
Điều này dẫn tôi đến ngày hôm qua vì tôi cho rằng các thông số từ Nội dung sẽ bị ràng buộc tự động.
Điểm phụ thứ hai là chỉ có một thông số có thể được ràng buộc với Nội dung.
Có thể có tối đa một thông số cho mỗi hành động được trang trí với [FromBody]. ASP.NET Core MVC run-time ủy nhiệm trách nhiệm đọc luồng yêu cầu tới trình định dạng. Khi luồng yêu cầu được đọc cho một tham số, thường không thể đọc lại luồng yêu cầu để ràng buộc các tham số [FromBody] khác.
Vì vậy, nếu có nhiều hơn một tham số bạn cần, bạn cần phải tạo ra một lớp mẫu để ràng buộc họ:
public class InputModel{
public string FirstName{get;set;}
public string LastName{get;set;}
}
[HttpPost]
public IActionResult test([FromBody]InputModel model)...
The Docs
Nguồn
2018-02-05 15:10:33
Ông cũng cần phải thiết lập các kiểu nội dung ngay trong yêu cầu. Nó phải là 'application/json' chứ không phải' text'. – anserk
khi tôi sử dụng [FromBody] người đưa thư hiển thị lỗi '415 Loại phương tiện không được hỗ trợ' và phương pháp không nhấn điểm gỡ lỗi, hãy xem nhận xét của tôi bên dưới, –