赞
踩
终于忍不住对WebAPI下手了,网上有好多关于怎么通过VS创建WebAPI的教程,我在此就不再赘述了。
在这主要分享一下我在创建后调试的问题。
前提:写好一个简单的API,代码内容及所属文件夹架构如下:
- namespace webTestAPI.Controllers
- {
- public class TestController : ApiController
- {
- [HttpGet]
- public string getstring()
- {
- return "Hello Word";
- }
-
- [HttpPost]
- public string returnstring(string name, string id)
- {
- return "我的名字是" + name + ";我的ID是" + id;
- }
- }
- }
问题:作为一名小白,顺着一般的思路就是点击调试,在URL给参数。当我调试时,点击调试按钮后页面如下:
点击调试后:
点击Controllers后:
点击TestController.cs后:
尝试着用https://localhost:44382/webTestAPI/Controllers/TestController/getstring直接调用仍然无效。纠结、、、
解决方案:
查了很多资料,问题根源是URL地址不对。
1.更改App_Start/WebApiConfig文件中的路由方式;将routeTemplate的值由默认的"api/{controller}/{id}"改为"api/{controller}/{action}/{id}",如下图所示:
2.测试的URL:api/controller类名前缀(TestController,前缀即test,不区分大小写)/方法名,即https://localhost:44382/api/Test/getstring
问题解决,调试成功!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。