webapi的接口函数名称必须以Get开头吗?

zzyhost 2019-01-07 06:57:15
我一开始写了个接口函数起名test,但怎么也不成功,最后我改为Gettest 就成功访问了,怎么回事?费我老长时间了
...全文
416 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilikeff8 2019-01-08
  • 打赏
  • 举报
回复

public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Title = "Home Page";

return View();
}

[HttpGet]
public string ABC()
{
return "ABC";
}
}




// 默认
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}


http://localhost:1598/Home/ABC
ABC

没啥问题
  • 打赏
  • 举报
回复
[HttpGet]
[HttpPost]
GetXXX PostXXX PutXXX DeleteXXX 这是默认约束,如果不显式指定Attribute,那么就会按单词来推导
正怒月神 2019-01-08
  • 打赏
  • 举报
回复
没有关系啊, 除非你是restful。那么只使用这个几个get post delete put patch
exception92 2019-01-08
  • 打赏
  • 举报
回复
不需要,设置Get或者Post等开头的方法名是为了api框架更容易的去路由表寻找匹配方法,每个action名称都会存放到一个表中,请求操作发起框架会去匹配,根据名字进行路径拼接(也就是Name+Controller或者Name+Action),最终形成类似http://127.0.0.1:5000/xxxController/Action名字,这个Action名字规范点定义即可。
wanghui0380 2019-01-08
  • 打赏
  • 举报
回复
1.先设好路由,默认路由只到Control,还不到action,所以你要改路由

2.建议留个好习惯,显示用特性标记一下访问限定比如[httpget]
丰云 2019-01-08
  • 打赏
  • 举报
回复
命名随意,只要不冲突就行了,注意配置路由。 至于你说的情况,是不可能的,多半是搞错什么自己没有注意到吧
zzyhost 2019-01-08
  • 打赏
  • 举报
回复
引用 1 楼 吉普赛的歌 的回复:
不需要吧, 跟其它方法的命名没有区别。


这三个函数只有test 调用失败,重新生成发布好多次了,怎么回事?

楠小南 2019-01-07
  • 打赏
  • 举报
回复
名字随便起,主要是看路由设置
龍月 2019-01-07
  • 打赏
  • 举报
回复
不用。看自己喜好
吉普赛的歌 2019-01-07
  • 打赏
  • 举报
回复
不需要吧, 跟其它方法的命名没有区别。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧