C#-Asp.Net Web API路由-必需的QueryString参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-Asp.Net Web API路由-必需的QueryString参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1204字,纯文字阅读大概需要2分钟。
内容图文
![C#-Asp.Net Web API路由-必需的QueryString参数](/upload/InfoBanner/zyjiaocheng/657/d1b2bded11cf4984bce876c528354e4c.jpg)
如何在Asp.Net Web API中要求某些路由的查询字符串?
控制器:
public class AppleController : ApiController
{
public string Get() { return "hello"; }
public string GetString(string x) { return "hello " + x; }
}
public class BananaController : ApiController
{
public string Get() { return "goodbye"; }
public string GetInt(int y) { return "goodbye number " + y; }
}
所需路线:
/apple --> AppleController --> Get()
/apple?x=foo --> AppleController --> Get(x)
/banana --> BananaController --> Get()
/banana?y=123 --> BananaController --> Get(y)
解决方法:
只是做这样的事情:
public string Get(int y = -1)
{
if(y < 0) return "goodbye";
return "goodbye number " + y;
}
这样,它是一条路线,并且涵盖所有情况.为了清楚起见,您也可以将每种方法都视为私有方法.
另一种方法是添加更多路由,但是由于这些路由有些特定,因此您必须添加额外的路由.为简单起见,我会说您将方法GetString和GetInt更改为同一件事(例如GetFromId,以便可以重用路由:
routes.MapRoute(
name: "GetFromIdRoutes",
url: "{controller}/{id}",
defaults: new { action = "GetFromId" }
);
routes.MapRoute(
name: "GetRoutes",
url: "{controller}",
defaults: new { action = "Get" }
);
如果您对这些内容的理解不够普遍,则可能会遇到很多路由条目.另一个想法是将它们放到区域中以避免路线冲突.
内容总结
以上是互联网集市为您收集整理的C#-Asp.Net Web API路由-必需的QueryString参数全部内容,希望文章能够帮你解决C#-Asp.Net Web API路由-必需的QueryString参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。