Как получить URL веб-интерфейса внутри контроллера и сохранить в базе данных - PullRequest
0 голосов
/ 12 января 2019

У меня есть этот проект API для информации о сотруднике. Как мне получить URL-адрес API примерно так: http://localhost:53037/api/employee/4" внутри контроллера Home и сохранить этот URL-адрес в базе данных?

Контролер сотрудника:

public class EmployeeController : ApiController
{
    public IEnumerable<Employee> Get()
    {
        using(EmployeeDBEntities entities = new EmployeeDBEntities())
        {
            return entities.Employees.ToList();
        }
    }

    public Employee Get(int id)
    {
        using (EmployeeDBEntities entities = new EmployeeDBEntities())
        {
            return entities.Employees.FirstOrDefault(e => e.ID == id);
        }
    }
    public void Post([FromBody] Employee employee)
    {
        using (EmployeeDBEntities entities = new EmployeeDBEntities())
        {
            entities.Employees.Add(employee);
            entities.SaveChanges();
        }
    }
}

Домашний контроллер:

    public class HomeController : Controller
{

    private readonly MyDBEntities _db = new MyDBEntities();

    public ActionResult Index()
    {
        return View();
    }
    public ActionResult About()
    {
        ViewBag.Message = "Your application description page.";

        return View();
    }

    public ActionResult Contact()
    {
        ViewBag.Message = "Your contact page.";

        return View();
    }

}

1 Ответ

0 голосов
/ 12 января 2019

Я думаю, ключ к использованию правильных атрибутов

    [HttpGet]
    [Route("/api/employee/{id}/")]
    public Employee Get([FromRoute]int id)
    {
        using (EmployeeDBEntities entities = new EmployeeDBEntities())
        {
            return entities.Employees.FirstOrDefault(e => e.ID == id);
        }
    }

РЕДАКТИРОВАТЬ: Не уверен, правильно ли я понял этот вопрос, но если вы пытаетесь получить сотрудника из базы данных по идентификатору, это путь. Все, что касается ваших сотрудников, должно происходить через EmployeeController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...