Skip to content

Instantly share code, notes, and snippets.

@benfoster
Created August 29, 2012 17:04
Show Gist options
  • Save benfoster/3515675 to your computer and use it in GitHub Desktop.
Save benfoster/3515675 to your computer and use it in GitHub Desktop.
Adding resource links in ASP.NET Web Api payloads
public class ResourceLinksActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
ResourceModel payload;
if (actionExecutedContext.Response.TryGetContentValue<ResourceModel>(out payload))
{
payload.BuildResourceLinks(actionExecutedContext.Request);
}
base.OnActionExecuted(actionExecutedContext);
}
}
public class ResourceModel
{
public ICollection<Link> Links { get; set; }
public ResourceModel()
{
Links = new List<Link>();
}
public virtual void BuildResourceLinks(HttpRequestMessage request)
{
AddSelfLink(request);
}
protected void AddSelfLink(HttpRequestMessage request)
{
Links.Add(new Link { Rel = "Self", Href = request.RequestUri.AbsoluteUri });
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment