SQLデータベースでSelectクエリを実行しようとするWeb APIを作成しようとしています。 DB内のテーブルには3つのフィールドがありますが、私はresponse.Belowに2つのフィールドのみを必要とする、私はここでの問題は、それがSQLデータベースから結果を返すWeb API
として応じて3つのすべてのフィールドを引くです
public async Task<IHttpActionResult> Get(string LabName){
string strcon = ConfigurationManager.ConnectionStrings["CDBConnection"].ConnectionString;
SqlConnection DbConnection = new SqlConnection(strcon);
SqlDataReader reader = null;
DbConnection.Open();
using (SqlCommand command = new SqlCommand("SELECT Acc, CSeq FROM [dbo].[c_Account] WHERE Acc = @AccName", DbConnection))
{
command.Parameters.Add(new SqlParameter("AccName", LabName));
reader = command.ExecuteReader();
List<QueryResult> qresults = new List<QueryResult>();
while (reader.Read())
{
QueryResult qr = new QueryResult();
qr.AccountID = reader["AccountID"].ToString();
qr.CounterSeq = ((int)reader["CounterSeq"]).ToString("000");
qresults.Add(qr);
}
DbConnection.Close();
//build json result
return Ok(qresults);
}
}
をしようとしていますコードです[{"Acc":"xyz","CSeq":"123","Year":null}]
しかし、単に
[{"Acc":"xyz","CSeq":"123"}]
として応答を期待することも戻ることが可能です応答The CSeq associated with Acc xyz is 123
残りのコードはどこにありますか? JSONを作成するコード(あなたが尋ねるもの)はここにはありません。 –
@RobertHarvey - 呼び出し元がhttpヘッダー 'content-type'でコンテンツタイプを判断できるように、' OkNegotiatedContentResult 'を(メソッドOkで)返すWeb APIメソッド内の@RobertHarveyです。 Web API(デフォルト設定)は、シリアライザとしてjson.net(別のデフォルト)を使用して渡されたモデルから自動的にjson結果を生成します。 –
Igor