web api应该返回通用数据还是更具体的逻辑?

时间:2015-08-28 15:07:14

标签: asp.net-mvc asp.net-web-api

示例,我有一个mvc视图,需要来自Student,Teacher&类实体。如果web api有三个不同的Get,还有一个涉及Get吗?那就是:

(注意 - 语法可能有点,这些只是示例)

WebApi -

    public Student GetStudent(int StudentId)
    {
        // get student from db logic ;
    }

    public Teacher GetTeacherByStudent(int StudentId)
    {
        // get teacher from db logic ;
    }
    public IEnumerable<Class> GetClassesByStudent(int StudentId)
    {
        // get classes from db logic ;
    }

然后在Web前端,我将所有数据组合到一个视图模型中并将其发送到视图。

    public StudentDetailDTO GetStudentDetail(int studentId)
    {
        var data = _db.Student.Where(s => s.StudentId == studentId).Include(s => s.Teacher).Include(s => s.Class).ToList();

        StudentDetailViewModel vm = new StudentDetailViewModel()
        {
            // map data to a viewmodel
        }
        return View(vm);
    }

或者我应该在web api中使用GetStudentDetial方法并将所有数据作为一个返回?

所有获取都将在Web Api中,因为它们在不同的实例中使用。

单独发送数据会保持api的通用性,因此它对我将来构建的其他应用程序更有用,并将使用这些数据。但来回服务器的内容要多得多,而只需一次就可以获得所有内容。

0 个答案:

没有答案