Umbraco定制路线

时间:2016-04-15 17:02:47

标签: asp.net-web-api routing umbraco

我刚刚开始在Umbraco(v 7.3.4)项目中开发,我似乎无法设置自定义路由。我一直在阅读许多文章和其他StackOverflow答案,但我似乎无法在任何地方找到一个清晰而完整的解决方案。

我添加了一个名为ReportingApi的新控制器,继承自UmbracoApiController。问题是它的路线是:

http://myhostname.com/umbraco/api/reportingapi/{action}/{id}

但是,我想有以下路线:

http://myhostname.com/api/reporting/{action}/{token}/{id}

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用属性路由。用 -

装饰你的动作方法
[Route("api/reporting/{action}/{token}/{id}")]

此外,请检查WebApiConfig文件并确保

config.MapHttpAttributeRoutes(); 
代码存在。

答案 1 :(得分:1)

您可以通过扩展from scrapy.item import Item, Field from scrapy.http import FormRequest from scrapy.spider import Spider from scrapy.utils.response import open_in_browser class TestSpider(Spider): name = "test" allowed_domains = ["example.com"] start_urls = ["https://example.com/customer/account/login/"] def parse(self, response): token = response.xpath(".//input[contains(@name,'token')]/@value").extract()[0] yield FormRequest.from_response( response, formnumber=1, formxpath=".//*[@id='form-account-login']", formdata={ 'token' : token, 'LoginForm[email]': 'xxxx', 'LoginForm[password]': 'xxxx', }, clickdata={'id': 'customer-account-login'}, callback=self.parse1, ) def parse1(self, response): return scrapy.Request(url="https://example.com/customer/account/list/", callback = self.parse_2, errback=self.error) def parse1(self,response): open_in_browser(response) 并在其中添加自定义路线来实现:

ApplicationEventHandler