gpt4 book ai didi

c# - HttpResponseMessage 返回什么作为 Json

转载 作者:可可西里 更新时间:2023-11-01 08:31:05 26 4
gpt4 key购买 nike

我有一个关于 Web Api 基础知识的基本问题。仅供引用,我之前已经检查过但找不到我要找的东西。

我有一段代码,如下所述。就像一般意义上的任何其他方法一样,我的方法称为:Post,它必须返回一些东西,例如 JSON,我该怎么做。具体来说,为了将 3 个字段(loginRequest.Username、loginRequest.Password、loginRequest.ContractItemId)作为 Json,我应该在“return”这个词之后写什么。评论:不要担心用户名、密码和 contractID 在评论中,我确实在我的 LinQ 中获得了它们的值(value)。这只是我现在的返回,向所有想就此发表一些评论的人致以问候。

    [System.Web.Http.HttpPost]
public HttpResponseMessage Post(LoginModel loginRequest)
{
//loginRequest.Username = "staw_60";
//loginRequest.Password = "john31";
//loginRequest.ContractItemId = 2443;

try
{
Membership member =
(from m in db.Memberships
where
m.LoginID == loginRequest.Username
&& m.Password == loginRequest.Password
&& m.ContractItemID == loginRequest.ContractItemId
select m).SingleOrDefault();
}
catch (Exception e)
{
throw new Exception(e.Message);
}

return ???;
}

最佳答案

试试这个:

HttpResponseMessage response = new HttpResponseMessage();
response.Content = new ObjectContent<Response>(
new Response() {
responseCode = Response.ResponseCodes.ItemNotFound
},
new JsonMediaTypeFormatter(), "application/json");

或者只是从 Request 对象本身创建另一个响应。

return Request.CreateResponse<Response>(HttpStatusCode.OK, 
new Response() { responseCode = Response.ResponseCodes.ItemNotFound })

您还可以通过更新 HttpConfiguration(Formatter.Remove) 将所有响应类型转换为 JSON,只需删除默认的 xml 序列化并放入 JSON。

关于c# - HttpResponseMessage 返回什么作为 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com