HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.NET Web API中的多个URL级别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用新的.NET Web API设置休息服务,我遇到了一个小问题.我们希望有一个不同的路由,但我不知道如何实现这一点.
public class FormController : ApiController
{

    // api/form
    public String Get()
    {
        return "OK-Get";
    }
    // api/form/method1
    public String Method1()
    {
        return "OK1";
    }
    // api/form/method2
    public String Method2()
    {
        return "OK2";
    }
}

但这不起作用.如果我转到/ api / form / method2,我会得到OK-Get作为回复.

我认为这与路由有关,但我不确定,因为我之前没有使用过MVC.我已经尝试在WebApiConfig.cs中设置它:

config.Routes.MaphttpRoute(
    name: "FormApi",routeTemplate: "api/form/{action}"
);

但那没有做任何事.

解决方法

路由几乎是正确的但主要问题是您在其他操作方法上缺少必需的httpR_392_11845@ethod属性. [httpGet]是因为它的名字而在第一种方法上推断出来的.这就是你需要的:
public class FormController : ApiController
{
    // api/form
    public String Get()
    {
        return "OK-Get";
    }

    // api/form/method1
    [httpGet]
    public String Method1()
    {
        return "OK1";
    }

    // api/form/method2
    [httpGet]
    public String Method2()
    {
        return "OK2";
    }
}

使用属于App_Start / RouteConfig.cs的路由映射

routes.MaphttpRoute(
    name: "FormApi",routeTemplate: "api/form/{action}",defaults: new { controller = "form",action = "Get"}
);

有关更多信息,请阅读http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection

大佬总结

以上是大佬教程为你收集整理的.NET Web API中的多个URL级别全部内容,希望文章能够帮你解决.NET Web API中的多个URL级别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。