从c#中的同一对象返回混合结果

时间:2016-11-22 06:11:00

标签: c# asp.net-web-api

我正在使用WebAPI,我遇到了一种情况,我希望从单个方法返回一个具有不同结果的对象。 例如。我们来看一个学生的例子

对象/类:

public class student
{
    //Some properties
}

public class error
{
    //Some properties
}

public class ResponseObject
{
    //Some properties
    public student stud {get; set;}
    public error err {get; set;}
}

方式:

public ResponseObject StudentsDetail(string a, string b)
{
    //Some code
}

现在,如果通话成功,我想向学生发送详细信息 否则会出现错误消息。

每当我发送响应时,ResponseObject对象都包含类student和error的所有属性。

我想发送其中一个。 我怎样才能做到这一点? 是否可以进行依赖注射? 或者以另一种方式向我推荐。

有关更多说明,我在这里更新我的问题。 响应样本将是这样的

成功Json回应

{
    "title": "Student",
    "message": "success",
    "student": {
        "id": {
            "name": "abc",
            "add": "xyz"
        }
    }
}

错误Json响应

{
    "title": "Student",
    "message": "error",
    "error": {
        "message": {
            "text": "asdlkj"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

Request.CreateResponse(HttpStatusCode.OK, student)

OR

Request.CreateResponse(HttpStatusCode.OK, error)

根据您的需要