Web Services 如何在Web api mvc中返回HttpResponseMessage中的对象?

xxls0lw8  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(175)

在我的一个Get请求中,我想返回一个包含一些内容的HttpResponseMessage。

// GET api/Account/5
[HttpGet]
[ActionName("GetAccount")]
public HttpResponseMessage GetAccount(int id)
{
    Account value;
    try
    {
        var myque = from x in db.Accounts where x.idUser==id select x;
        value= myque.FirstOrDefault();

    }
    catch (Exception)
    {
        return new HttpResponseMessage { Content = new StringContent("[{\"Success\":\"Fail\"},{\"Message\":\"Login Fail\"}]", System.Text.Encoding.UTF8, "application/json") };
    }
    return new HttpResponseMessage { Content = new StringContent("[{\"Success\":\"Success\"},{\"Message\":\"Login successfully\"}],{\"Data\":"+value+"}", System.Text.Encoding.UTF8, "application/json") };
}

我想将值添加到HttpResponseMessage。值将返回一个json正常值。

[
    {
    "Success": "Success"
    },
    {
    "Message": "successfully"
    }
    Value will display at here  
]
vsdwdz23

vsdwdz231#

由于您使用的是[操作名称(“GetAccount”)]...因此应使用IActionResult作为返回类型。
否则,如果要使用HttpResponseMessage,请使用-

[Route("api/GetAccount")]

此外,还可以构造输出结果,如下所示

return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = data };
vcudknz3

vcudknz32#

使用Jobject返回

return new JObject(<your dynamic object here>);

相关问题