我很想知道其他人如何处理为他们的 Web API 生成超媒体链接的问题?具体来说,我正在使用 ASP.NET Web API,并且在让操作返回与超媒体相关的类型或返回资源本身以及让超媒体内容在管道中稍后发生之间左右为难。也就是说,人们是否倾向于做以下事情:
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 中装饰各种操作的属性?