現在、Postman 拡張機能を使用して Google Chrome で POST メソッドをテストしているテスト API を実行しています。ローカル サーバーにデータベースがあり、フレームワーク 4.0 で VS2010 を使用しています。
私のAPIには現在、GetByIDメソッドが完全に機能しています。
それらはすべて、リクエストごとに新しいデータを送信する前にデータをクリアしますが、POST リクエストを行うとこれは起こりません。
リクエストを行うたびに、以前の結果がそこに残ります(リクエストのパラメーターを変更すると、結果の数は同じままですが、データは変更されます)。
private List<Employee> Employees = new List<Employee>();
SqlConnection con;
SqlDataAdapter da;
DataSet ds = new DataSet();
public IEnumerable<Employee> Post(string param1, string param2)
{
ds.Clear();
con = new SqlConnection("Server=xxxx; Database=x; Trusted_Connection=True;");
da = new SqlDataAdapter("select * from Employee", con);
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
Employees.Add(new Employee() {
FirstName = dr[0].ToString(),
LastName = dr[1].ToString(),
Id = int.Parse(dr[2].ToString()),
Designation = dr[3].ToString()
});
}
return Employees.Where(e => e.FirstName == param1)
.Where(e => e.LastName == param2);
}
私の従業員コントローラー
static readonly EmployeeDetails repository = new EmployeeDetails();
[System.Web.Mvc.HttpPost]
public IEnumerable<Employee> Search(string param1, string param2)
{
//Employee search = repository.Post(param1, param2);
IEnumerable<Employee> search = repository.Post(param1, param2);
if (search == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return search;
}
私はこれで丸一日遊んでいますが、問題の解決策は見つかりませんでした。誰でも助けることができますか?
ありがとうございました