Web API 连接到 SQL 服务器和 return 在 JSON 中响应
Web API to connect to SQL Server and return response in JSON
我正在尝试创建一个 Web API,它查询 SQL 服务器并 return 在 JSON 中响应。以下是我正在尝试的
[HttpGet]
public HttpResponseMessage Getdetails(string ROOM)
{
if (string.IsNullOrEmpty(ROOM))
{
return Request.CreateResponse(new { error = "Input paramete cannot be Empty or NULL" });
}
string commandText = "SELECT * from [TDB].[dbo].[results_vw] where ROOM = @ROOM_Data";
string connStr = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
var jsonResult = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connStr))
{
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@ROOM_Data", SqlDbType.VarChar);
command.Parameters["@ROOM_Data"].Value = ROOM;
connection.Open();
var reader = command.ExecuteReader();
if (!reader.HasRows)
{
jsonResult.Append("[]");
}
else
{
while (reader.Read())
{
jsonResult.Append(reader.GetValue(0).ToString());
}
}
var response = new HttpResponseMessage(System.Net.HttpStatusCode.OK);
response.Content = new StringContent(jsonResult.ToString());
return ResponseMessage(response);
}
但看起来 return 类型 ResponseMessage
与 HttpResponseMessage
不匹配 我如何连接 SQL 服务器 q 和 return 中的查询响应JSON.
ResponseMessage
returns IHttpActionResult
派生 ResponseMessageResult
,
ResponseMessageResult ResponseMessage(HttpResponseMessage response);
因此要么相应地更新函数结果
public IHttpActionResult Getdetails(string ROOM)
或者不使用ResponseMessage
return response;
您可以使用
return Request.CreateResponse(jsonResult.ToString());
生成带有 200(OK) Http 状态代码 + 提供的数据对象作为内容的 HttpResponseMessage 对象。
我正在尝试创建一个 Web API,它查询 SQL 服务器并 return 在 JSON 中响应。以下是我正在尝试的
[HttpGet]
public HttpResponseMessage Getdetails(string ROOM)
{
if (string.IsNullOrEmpty(ROOM))
{
return Request.CreateResponse(new { error = "Input paramete cannot be Empty or NULL" });
}
string commandText = "SELECT * from [TDB].[dbo].[results_vw] where ROOM = @ROOM_Data";
string connStr = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
var jsonResult = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connStr))
{
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.Add("@ROOM_Data", SqlDbType.VarChar);
command.Parameters["@ROOM_Data"].Value = ROOM;
connection.Open();
var reader = command.ExecuteReader();
if (!reader.HasRows)
{
jsonResult.Append("[]");
}
else
{
while (reader.Read())
{
jsonResult.Append(reader.GetValue(0).ToString());
}
}
var response = new HttpResponseMessage(System.Net.HttpStatusCode.OK);
response.Content = new StringContent(jsonResult.ToString());
return ResponseMessage(response);
}
但看起来 return 类型 ResponseMessage
与 HttpResponseMessage
不匹配 我如何连接 SQL 服务器 q 和 return 中的查询响应JSON.
ResponseMessage
returns IHttpActionResult
派生 ResponseMessageResult
,
ResponseMessageResult ResponseMessage(HttpResponseMessage response);
因此要么相应地更新函数结果
public IHttpActionResult Getdetails(string ROOM)
或者不使用ResponseMessage
return response;
您可以使用
return Request.CreateResponse(jsonResult.ToString());
生成带有 200(OK) Http 状态代码 + 提供的数据对象作为内容的 HttpResponseMessage 对象。