我很好奇其他人如何处理为他们的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的方法,如何确定要生成哪些链接?为所有订单对象生成一些标准链接?使用 OrdersController 中不同操作上的属性装饰器?