我正在尝试为API控制器创建一个自定义路由,它具有以下结构:
/{currentUrl}/{methodName}
currentUrl
不作为参数。
示例:
/tool/compute/download
其中“download”是方法的名称,“/ tool / compute /”是我们当前的页面。
提一下,我正在使用Sitecore。
有人可以帮忙吗?
感谢。
答案 0 :(得分:1)
您可以构建一个将工具名称作为文章的方法,如下所示:
[Route("tool/{toolName}/download")]
public HttpResponseMessage Get(string toolName)
{
var path = GetPathByToolName(toolName);
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
return result;
}