博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
那些年踩过的WebAPI的坑(一)
阅读量:7111 次
发布时间:2019-06-28

本文共 1151 字,大约阅读时间需要 3 分钟。

 

Visual Studio创建一个web项目,

在下一步的时候创建WebAPI项目的时候勾选web API之后,系统会生成一个web项目。

首先看一下webapi的路由配置,在App_start/webapiconfig.cs中,可以看到如下代码:

1 public static void Register(HttpConfiguration config) 2         { 3             // Web API configuration and services 4  5             // Web API routes 6             config.MapHttpAttributeRoutes(); 7  8             config.Routes.MapHttpRoute( 9                 name: "DefaultApi",10                 routeTemplate: "api/{controller}/{id}",          //注意此处11                 defaults: new { id = RouteParameter.Optional }12             );13         }

如果按照此默认的webAPI进行开发的话,新建一个APIController,并创建一个方法,如这里我自己的:

当只有一个登陆方法是,运行此项目,请求../api/Account/login没问题。但有时候在Account中可能有很多API方法,不仅仅是登陆还有注册呢?再添加一个方法regist,请求../api/Account/regist。是不是对接下来的500错误很惊讶?

"Message":"An error has occurred.","ExceptionMessage":"Multiple actions were  found that match the request 多个匹配该请求的Action

再回头看生成的API配置路由,对于请求

../api/Account/login../api/account/regist

匹配路径:

routeTemplate: "api/{controller}/{id}",

name这两个路由可不就有多个action了吗?所以在匹配路径上修改为

routeTemplate: "api/{controller}/{action}/{id}",

OK !只能感叹一下

 

转载于:https://www.cnblogs.com/kingkangstudy/p/7211053.html

你可能感兴趣的文章
.Net 鉴权授权
查看>>
MySql(十四):MySql架构设计——可扩展性设计之数据切分
查看>>
Ocelot简易教程(二)之快速开始1
查看>>
JSON Web Token(JWT)使用步骤说明
查看>>
思绪:常想一二
查看>>
WPF - Group分组对ListBox等列表样式的约束
查看>>
getpwuid和getpwnam的用法
查看>>
C语言文件操作解析(一)
查看>>
matlab练习程序(Floyd–Steinberg dithering)
查看>>
Android之Handler用法总结
查看>>
XPath and TXmlDocument
查看>>
JQ集合
查看>>
bootstrip可视化布局
查看>>
python 一些基本操作
查看>>
Linux 的启动流程(转)
查看>>
flex graphiclar symbol的不同比例尺切换
查看>>
linux img文件压缩及解压
查看>>
当远程桌面到Windows终端服务器,出现终端服务器超出了最大允许连接数,怎么办...
查看>>
S3C2410 实验三——块拷贝、字拷贝(寄存器的理解)
查看>>
iOS web remote debug 正确的姿势
查看>>