无法调用我的Web API

时间:2016-01-29 07:55:27

标签: c# asp.net asp.net-mvc api asp.net-mvc-4

我制作了自己的网络API,现在我正努力让它发挥作用。 这是App_Start > WebApiConfig.cs

中的一些代码
public static void Register(HttpConfiguration config)
{
    // Web API routes
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}"
    );
}

这是我的控制者:

public class messagesController : ApiController
{
    public string GetMessages()
    {
        return MessagesService.Get();
    }
}

我已经尝试了return MessagesService.Get();行的调试工作,但它甚至没有走到那么远......

我有一种感觉,我错过了一些引用,因为我用空模板制作了所有这些类。

1 个答案:

答案 0 :(得分:1)

您的解决方案应类似于:

Project
Project > web.config
Project > Global.asax.cs
Project > App_Start > WebApiConfig.cs
Project > Controllers > MessagesController.cs

有关Global.asax.cs应该是什么样子的更多信息,请参阅:this link

此外,由于您的Controller Action已经定义为GET类型,您可以将Messages作为方法名而不是GetMessages()

在Visual Studio中创建新的Web项目并选择Web API作为项目类型也可能对您有所帮助。这可以帮助您了解Web API项目的基本结构。

修改

public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
}

以下是Web API的Global.asax文件示例。

添加新文件:

在Visual Studio 2013中

Open Solution Explorer.
Right-click on the project.
Add New Item.
VB or C#
Web.
General.
Global Application Class.