Tôi mới sử dụng ASP.NET webapi và tôi không thể tìm cách trả về danh sách các đối tượng được truy vấn bằng id.Làm thế nào để trả về một danh sách các đối tượng như một IHttpActionResult?
Đây là phương pháp điều khiển của tôi cho yêu cầu GET. Tôi muốn trả lại tất cả các câu hỏi có bảng câu hỏi được chỉ địnhId được truyền qua url.
Tôi cố gắng này:
// GET: api/Questions/5
[ResponseType(typeof(List<Question>))]
public Task<IHttpActionResult> GetQuestion(int questionnaireId)
{
var questions = from q in db.Questions
where q.QuestionnaireId == questionnaireId
select new Question()
{
Id = q.Id,
ImageLink = q.ImageLink,
QuestionnaireId = q.QuestionnaireId,
Text = q.Text
};
return questions;
}
Đây là lớp Câu hỏi của tôi:
public class Question
{
public int Id { get; set; }
[ForeignKey("Questionnaire")]
public int QuestionnaireId { get; set; }
public string Text { get; set; }
public string ImageLink { get; set; }
public virtual Questionnaire Questionnaire { get; set; }
}
Nhưng trên return questions
nó hiển thị lỗi biên dịch:
Cannot implicitly convert type
System.Linq.IQueryable<finah_backend.Models.Question>
toSystem.Web.Http.IHttpActionResult
. An explicit conversion exists (are you missing a cast?)
Tôi muốn có được một danh sách các câu hỏi được trả về trong JSON được truy vấn trên questionnaireId, được chuyển qua url tức là api/questions/2 ==> cung cấp tôi trở lại tất cả các câu hỏi với questionnaireId = 2.
Lỗi lầm hoặc bạn có ngoại lệ gì không?Tôi nghĩ phương thức 'GetQuestion' của bạn sẽ không biên dịch do loại trả về không phù hợp với những gì bạn đã trả về thực sự. –
Không thể chuyển đổi hoàn toàn loại 'System.Linq.IQueryable' thành 'System.Web.Http.IHttpActionResult'. Một chuyển đổi rõ ràng tồn tại (bạn đang bỏ lỡ một diễn viên?) –
Rick