我有一个我创建的 API。我(终于)设法用它 GET 和 POST 。现在我想在提交之前检查 POST。我有一个具有id, name, city, state, 和属性的类(这是正确的词吗?我还在学习行话)country。我有一个带有按钮的表单,该按钮有一个单击事件方法,如下所示:protected void submitButton_Click(object sender, EventArgs e){ void Add_Site(string n, string ci, string s, string co) { using (var client = new HttpClient()) { site a = new site { name = n, city = ci, state = s, country = co }; var response = client.PostAsJsonAsync("api/site", a).Result; if (response.IsSuccessStatusCode) { Console.Write("Success"); } else Console.Write("Error"); } } Add_Site(nameText.Text, cityText.Text, stateText.Text, countryText.Text);}现在,在这一点上,它按预期工作。但是,我想限制它。我想做的是让它看看nameText.Text价值。在它运行该POST语句之前,我希望它查看GETAPI中的其他值并确保该名称不存在。虽然我知道我可能会更新数据库以使该name字段唯一,但我更愿意在 C# 中以编程方式进行。这在我的 C# 代码中是可能的吗?如果是这样,我将使用什么函数以及如何让它返回Site.Name属性来比较我的nameText.Text值?编辑:这是POST其中一条评论中要求的代码。注意:这是在我添加控制器时由 Visual Studio 自动生成的。 // POST: api/site [ResponseType(typeof(site))] public IHttpActionResult Postsite(site site) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.site.Add(site); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = site.id }, site); }我什至不知道从哪里开始添加“如果名称已经存在,则抛出错误”,因此某种演练就足够了。
1 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
如果任何站点具有提供的名称 (site.Name),这里是在数据库中查找的代码:
if (db.site.Any(o => o.Name == site.Name)) return BadRequest("Name already exists.");
- 1 回答
- 0 关注
- 168 浏览
添加回答
举报
0/150
提交
取消