Jestem ciekaw, jak inni poradzili sobie z kwestią generowania linków hipermedialnych dla swoich internetowych API? W szczególności używam ASP.NET Web API i jestem rozdarty pomiędzy operacjami zwracającymi typy związane z hipermediami lub zwracaniem samego zasobu i posiadaniem hipermedialnych rzeczy później w trakcie realizacji. Oznacza to, że ludzie mają tendencję do robienia rzeczy, takich jak:Generowanie linków hipermediów w interfejsie API WWW
public Resource<Order> GetOrder(int id) {
return new Resource<Order>() {
Content = new Order(),
Links = new LinkCollection<Order>() { new AddOrderLink(), new UpdateOrderLink()}
}
lub coś bardziej jak
public Order GetOrder(int id) { return new Order(); }
A potem dodawać linki hipermedialne wewnątrz HttpOperationHandler lub niestandardowego formater czy coś?
Jeśli podejście jest bardziej podobne do # 2, skąd wiadomo, jakie linki generować? Czy masz jakiś standardowy zestaw linków generowanych dla wszystkich obiektów zamówienia? Atrybuty dekorujące różne operacje w OrdersController?
Dodatek: Czytałem o poście Glenna Blocka o hipermedii w Web API (http://codebetter.com/glennblock/2012/01/08/hypermedia-and-web-api-design-brain-dump-and -samples /) i chociaż wydaje się, że faworyzuje generowanie linków w działaniu (podobnie jak w przykładzie 1 powyżej), czuję, że droga "middleware", o której wspomina pod koniec, wydaje się bardziej naturalna. – Jordan0Day
Spójrz na prezentację od ammy na teched newzealand http://channel9.msdn.com/Events/TechEd/NewZealand/2013/DEV305 jej rozwiązanie jest obiecujące dla hipermedii z api web również wyglądają tutaj kod przykładowy github – Gomes