public string Transform(LinkTransformationContext context)
        {
            var sb = new StringBuilder();

            sb.Append(context.HttpContext.Request.Scheme)
            .Append("://")
            .Append(context.HttpContext.Request.Host.ToUriComponent())
            .Append("/models/");

            var returnType     = context?.LinkSpec.RouteInfo?.MethodInfo?.ReturnType;
            var returnTypeInfo = returnType.GetTypeInfo();

            if (returnTypeInfo.IsGenericType)
            {
                if (returnType.GetGenericTypeDefinition().IsAssignableFrom(typeof(Task <>)))
                {
                    sb.Append(GetTypePathInfo(returnType.GetGenericArguments()[0]));
                }
                else
                {
                    sb.Append(GetTypePathInfo(returnType));
                }
            }
            else
            {
                sb.Append(GetTypePathInfo(returnType));
            }
            return(sb.ToString());
        }
Exemplo n.º 2
0
        private static string FormatBasic(LinkTransformationContext ctx)
        {
            var parameters = ctx.LinkSpec.RouteValues?.Select(x => $"{x.Key}={x.Value}");

            return(ctx.LinkSpec.RouteName + (parameters != null && parameters.Any() ? String.Concat("?", String.Join("&", parameters)) : ""));
        }