csharp 在ASP.NET Web Api有效负载中添加资源链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 在ASP.NET Web Api有效负载中添加资源链接相关的知识,希望对你有一定的参考价值。

    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 });
        }
    }

以上是关于csharp 在ASP.NET Web Api有效负载中添加资源链接的主要内容,如果未能解决你的问题,请参考以下文章

csharp Nancy和ASP.NET Web API比较

csharp ASP.NET Web API:通过提供自己的AssembliesResolver来控制加载的程序集

csharp 将Castle Windsor依赖项注入ASP.NET Web API过滤器C#

通过 ASP.NET Web API 有效地使用 async/await

ASP.NET Web API 中的表单

ASP.NET Core 1 Web API 模型绑定数组