-1

我正在尝试为具有以下结构的 API 控制器创建自定义路由:

/{currentUrl}/{methodName}

currentUrl不作为参数出现。

例子:

/tool/compute/download

其中“download”是方法的名称,“/tool/compute/”是我们所在的当前页面。

顺便提一下,我正在使用 Sitecore。

有人可以帮忙吗?

谢谢。

4

1 回答 1

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;
    }
于 2015-06-12T08:42:29.087 回答