下面是一个使用ASP.NET MVC创建API并通过电子邮件ID获取记录的示例代码:
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace YourNamespace.Controllers
{
public class RecordController : ApiController
{
// 假设你有一个名为"Record"的实体类,其中包含一个名为"Email"的属性
// GET api/record/email/{emailId}
[HttpGet]
[Route("api/record/email/{emailId}")]
public IHttpActionResult GetRecordByEmail(string emailId)
{
// 在这里,你可以通过emailId从数据库或其他数据源获取记录
// 假设你的记录存储在一个名为"records"的列表中
List records = GetRecordsFromDataSource();
Record record = records.FirstOrDefault(r => r.Email == emailId);
if (record == null)
{
return NotFound();
}
return Ok(record);
}
private List GetRecordsFromDataSource()
{
// 在这里,你可以实现从数据库或其他数据源获取记录的逻辑
// 这里只是一个示例,使用硬编码的记录列表
List records = new List
{
new Record { Email = "example1@example.com", Name = "John Doe" },
new Record { Email = "example2@example.com", Name = "Jane Smith" },
new Record { Email = "example3@example.com", Name = "Bob Johnson" }
};
return records;
}
}
}
namespace YourNamespace.Models
{
public class Record
{
public string Email { get; set; }
public string Name { get; set; }
// 可以添加其他属性和方法根据你的需求
}
}
确保你的项目引用了System.Web.Http
和System.Web.Http.WebHost
命名空间,并且已经正确配置了路由。
现在,你可以通过发送GET请求到api/record/email/{emailId}
来获取指定电子邮件ID的记录。例如,如果你的API运行在http://localhost:1234
上,你可以使用以下URL来获取具有电子邮件ID "example1@example.com" 的记录:http://localhost:1234/api/record/email/example1@example.com
。
这是一个基本的示例,你可以根据你的需求和数据源进行相应的调整和扩展。