У меня есть веб-сайт ASP.NET MVC с такими действиями:
public ActionResult Show(int id)
{
var customer = GetCustomer(id);
return View(new ShowCustomerModel(customer));
}
Теперь мне нужна возможность выполнять эти действия как часть API, который будет вызываться из сторонних приложений. В идеале действие должно выглядеть так:
public ActionResult Get(int id)
{
var customer = GetCustomer(id);
return Json(new CustomerResource(customer));
}
Вопрос в том, какие существуют инструменты или шаблоны ASP.NET MVC, которые позволяют мне объединять их вместе - например, Rails позволяет мне указывать несколько форматов возврата:
def index
@customer = get_customer(...)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @customer}
format.json { render :json => @customer}
end
end
Это даже хороший шаблон? Должен ли я просто иметь:
public Customer Get(int id)
{
return GetCustomer(id);
}
И использовать фильтры действий для выборочной визуализации как JSON или представления?