Kas*_*sem 1 asp.net-web-api swagger asp.net-web-api-helppages asp.net-web-api2 swashbuckle
我有一个通过OWIN中间件托管的Web API 2项目.一切都运行得很好,我可以按预期调用我的API.但是,我的WebApiConfig定义了默认路由,如下所示:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
因此,我必须使用类似于以下内容的URL调用我的API: /api/values/dosomething
这对我有用,直到我决定记录我的API.为此,我首先尝试使用无效的WebAPI帮助页面包.然后我想我应该尝试Swashbuckle Swagger并看看这是否有助于我完全避免这个问题,但不幸的是,在这两种情况下我都遇到了同样的错误:
路径模板分隔符'/'不能连续出现.它必须由参数或文字值分隔.参数名称:routeTemplate
在尝试了一些事情之后,事实证明,当更改路径模板并删除{action}
部件时,错误就消失了.但是,我不能真的这样做,因为整个项目假设URL包含其中的操作方法名称.
所以无论如何,我想知道以下内容:
提前致谢!
我得到了同样的问题.以下是我的工作代码.
[RoutePrefix("api/User")]
public class UserController : ApiController
{
[Route("login")]
public IHttpActionResult Get()
{ }
}
Run Code Online (Sandbox Code Playgroud)
当我在方法之前改变路线时
[Route("login")]
public IHttpActionResult Get()
{ }
Run Code Online (Sandbox Code Playgroud)
至
[Route("/login")]
public IHttpActionResult Get()
{ }
Run Code Online (Sandbox Code Playgroud)
我得到了同样的错误.如果/
在控制器的任何方法之前添加额外的(如果它不是第一次调用),它将生成.
我不确定你的病情.如果有人得到帮助,我会分享我的情况.
归档时间: |
|
查看次数: |
2714 次 |
最近记录: |