asp.net-web-api-routing相关内容
如果我以这种方式设计控制器: public class ItemController : ApiController { [HttpGet] [RoutePrefix("item/dosomething")] public void DoSomething(Item item) { } [HttpGet] [RoutePrefix("item
..
这应该是对的: /api/MyDataController.cs public class MyDataController: ApiController { [HttpGet] [Route("GetOne")] public IHttpActionResult GetOne() { } // works w/o GetTwo [HttpGet] [Rou
..
在我的MVC4网络应用程序中,我需要支持多个API.我环顾四周,显然是在Web API中,不支持在不同名称空间中使用相同名称的Controller. 我有什么选择? 例如:我希望能够向我的API使用者提供类似的链接, http://domainurl/api/api1/Students... http://domainurl/api/api2/Students... api1
..
我有一个C#WebApi 4项目,我试图在其中包含一个带有字符'/'的字符串参数.例如,我在参数中传递路径: http://localhost/api/MyController/mypath/testing 我希望MyController的Get方法中的id参数填充"mypath/testing".但是,看起来这应该是两个参数,并且找不到路线,因此返回错误. 我认为我需要更改默认路
..
我有两个控制器,一个名为“产品",另一个名为"ProductsGroup" [RoutePrefix("api/{clientUrl}/products")] public class ProductsController : BaseApiController { /// /// Get all products from a client //
..
我正在尝试配置我的API路由,但似乎无法解决Swagger的错误: 500:{"Message":“发生错误.","ExceptionMessage":"Swagger 2.0不支持:路径'api/Doors/{OrganizationSys}'和方法'GET'的多项操作. 我知道为什么会收到错误,但不确定如何解决.以下是API端点: public IHttpActionResu
..
我需要从路由中获取控制器名称,如果在WebApiConfig中使用标准路由代码,我可以做到这一点. 但是,如果我使用的是路由属性,它将开始变得有些困难,尤其是在尝试版本控制时. 示例:如果我调用一个api/terms/bonuses,并且有一个BonusController和BonusV2Controller以及一个BonusV3Controller,那么这段代码将返回最新的控制器版本
..
我在同一控制器上有两个动作,它们具有相同的路由,但有不同的HttpMethod要求(POST与DELETE). [AllowAnonymous] public class TestController : ApiController { [Route("~/api/test")] [HttpDelete] public IHttpActionResult Endpoi
..
我的情况与一切在本地都可以正常工作(在VS嵌入式服务器上).部署到Azure时,出现404错误,并伴随“找不到与命名为...的控制器匹配的类型". 但是,当我加载 routedebugger 模块,即使在Azure上,映射似乎也可以. 我该怎么做才能解决该问题? 谢谢 亚历克斯 编辑:我的路线是通过以下方式创建的: GlobalConfi
..
无论如何我都无法从ApiController到达任何方法,如果我尝试通过浏览器到达它但没有显示任何方法,路由就会出现. 我的控制器: namespace AgroRiego.Controllers { public class datacontrol : ApiController { [HttpGet, Route("api/get")]
..
我正在尝试查看是否需要编写自定义的IHttpRouteConstraint,或者是否可以与内置的内容搏斗以获取所需的内容.我看不到任何关于此的好的文档. 基本上,这是我的动作: [Route("var/{varId:int:min(1)}/slot/{*slot:datetime}")] public async Task Put(int va
..
给出控制器中的方法: public class CustomerController : ApiController { [HttpGet] public CustomerDto GetById([FromUri] int id) { . . return customerDto } } 是否可以通过属性指定
..
System.Web.Http.HttpPut 和 System.Web.Mvc.HttpPut 有什么区别? 在Web API项目上使用[HttpPut]会导致错误405-请求的资源不支持http方法"PUT". 解决方案 它们属于两个不同的框架.每个人的管道流程都在寻找属于其各自名称空间的特定属性. 各个框架的路由引擎都不知道另一个,因此,如果在MVC操作上使用Web AP
..
我将用于Web API 2的nuget程序包从RC1升级到5.0.0,并傻眼地发现原来可访问的HttpRouteBuilder是内部的.随之而来的是,不再以HttpRouteBuilder作为参数的HttpConfiguration.MapHttpAttributeRoutes重载.为什么? 我正在使用它,它解决了我项目中的一个主要问题.我该怎么用呢? 背景: 我正在编写使用Web A
..
我正在使用Web API 2属性路由,并且有一个请求无法正确解决. [Route("~/foo/{bar?}")] public void Get(string bar); 我的请求就像: mydomain.me/foo/abc/def 我希望将bar接收为"abc/def",但正斜杠会弄乱路线匹配. 用“%2F"替换正斜杠不能解决问题. 解决方案 您可以使用基于通配符的匹
..
我正在尝试使它起作用: [Route("api/Default")] public class DefaultController : ApiController { [HttpGet, Route("{name}")] public string Get(string name) { return $"Hello " + name; } }
..
我目前正在使用WCF实现REST API的企业Web应用程序上工作.它利用VirtualPathProvider捕获对* .svc文件(实际上不存在)的请求,然后动态构建请求以动态加载关联的WCF服务.这使系统具有可以在运行时添加到应用程序中的“模块",而不会影响Web服务器或使用它的任何人. 我想知道的是,从概念上讲,是否可以使用Web API2.我一直在做一些研究,但是看来这些路由只能在
..
如何为GUID和整数同时支持GET路由?我意识到GUID并不理想,但是现在是这样.我想添加对整数的支持,以使用户更容易记住和传达 唯一的“键". 示例路线: testcases/9D9A691A-AE95-45A4-A423-08DD1A69D0D1 testcases/1234 我的WebApiConfig: public static void Register(H
..
我在工作中遇到了一个问题,我找不到关于在主资源是其他资源ID的组合的资源的RESTful Web服务中执行CRUD操作的常规标准或实践的信息.我们正在使用MVC WebApi创建控制器.例如,我们有三个表: Product:PK = ProductId Part:PK = PartId ProductPartAssoc:PK =(ProductId,PartId) 一个产品可以有很
..
采用参数(返回标量值而不是数据集)的GET RESTful方法的常见示例如下所示: public string Get(int id) { //get and return the value } ...其中传递的val通常是一个ID,因此您可以使用它来基于该唯一值获取标量值. 但是,如果要传递多个值,例如字符串和整数,该怎么办?仅仅是定义一个像这样的方法就可以了:
..