他の人がWeb APIのハイパーメディアリンクを生成する問題をどのように扱っているのか不思議です。具体的には、私はASP.NET Web APIを使用しており、操作でハイパーメディア関連の型を返すか、リソース自体を返すことと、後でハイパーメディアの問題がパイプラインで発生することとの間で悩まされています。Web APIでHypermediaリンクを生成する
public Resource<Order> GetOrder(int id) {
return new Resource<Order>() {
Content = new Order(),
Links = new LinkCollection<Order>() { new AddOrderLink(), new UpdateOrderLink()}
}
以上
public Order GetOrder(int id) { return new Order(); }
のようなもの。そしてHttpOperationHandlerまたはカスタムフォーマッタか何か内部のハイパーメディアリンクを追加:ある 、人々のようなことを行う傾向があるのですか?
アプローチが#2のような場合は、どのようなリンクを生成するのかをどのように知っていますか?すべてのOrderオブジェクトに対して生成される標準的なリンクがいくつかありますか? OrdersControllerのさまざまな操作を装飾する属性ですか?
補足:Web API(http://codebetter.com/glennblock/2012/01/08/hypermedia-and-web-api-design-brain-dump-and)のハイパーメディアに関するGlenn Blockの記事を読みました。 (上記の例1と同様)リンクが生成されているように見えますが、最終的に言及しているミドルウェアのルートがより自然に感じられるように感じます。 – Jordan0Day
teched newzealandのammyからのプレゼンテーションを見てください。http://channel9.msdn.com/Events/TechEd/NewZealand/2013/DEV305彼女のソリューションはWeb APIを使ったハイパーメディアにも有望です。ここではgithubサンプルコード – Gomes