public HalLinkAttribute GetDocLink(IHalDocEndpointInfo docEndpointInfo) { String[] routeArgs; if (docEndpointInfo.Version == null) { routeArgs = new String[] { $"{docEndpointInfo.GroupArg}={GroupName}", $"{docEndpointInfo.MethodArg}={Method}", $"{docEndpointInfo.RelativePathArg}={UriTemplate.TrimStart('\\', '/')}" }; } else { routeArgs = new String[] { $"{docEndpointInfo.GroupArg}={GroupName}", $"{docEndpointInfo.MethodArg}={Method}", $"{docEndpointInfo.RelativePathArg}={UriTemplate.TrimStart('\\', '/')}", $"{docEndpointInfo.VersionArg}={docEndpointInfo.Version}", }; } //Create a link to the endpoint info for this controller and action method. var docHalRefInfo = new HalRelInfo(docEndpointInfo.Rel, docEndpointInfo.ControllerType, routeArgs); return(new HalLinkAttribute($"{this.Rel}.Docs", docHalRefInfo.UrlTemplate, null, docHalRefInfo.HttpMethod, dataMode: DataModes.Query)); }