Web API 的问题

我正在使用 ASP.Net Web API。我在控制器文件夹中创建了一个名为 api 的文件夹,然后在该 api 文件夹中创建了一个 Api 控制器。在管理控制器中,我只是放置了以下代码来检查 api 是否正常工作。


public class AdminController : ApiController

{

    DBEntities _context;

    public AdminController()

    {

        _context = new DBEntities();

    }

    [HttpGet]

    public IEnumerable<string> GetUsers()

    {


        return new string[] { "Muhammad","Ali"};

    }

}

然后从浏览器我调用http://localhost:57368/api/admin但它给了我“找不到资源”和 http 404 错误代码。它至少应该返回 JSON 结果,但给出这个错误。任何帮助都受到高度赞赏。当我转到 Chrome 中的网络选项卡时,它会显示请求的以下详细信息:

http://img.mukewang.com/60eaac300001b32e16810947.jpg

MM们
浏览 168回答 3
3回答

米琪卡哇伊

protected void Application_Start()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; GlobalConfiguration.Configure(config =>&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; config.MapHttpAttributeRoutes();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; config.Routes.MapHttpRoute(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name: "DefaultApi",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; routeTemplate: "api/{controller}/{id}",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defaults: new { id = RouteParameter.Optional }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; AreaRegistration.RegisterAllAreas();&nbsp; &nbsp; &nbsp; &nbsp; FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);&nbsp; &nbsp; &nbsp; &nbsp; RouteConfig.RegisterRoutes(RouteTable.Routes);&nbsp; &nbsp; &nbsp; &nbsp; BundleConfig.RegisterBundles(BundleTable.Bundles);&nbsp; &nbsp;}您的 global.asax.cs 应如下所示

Qyouu

在 Global.asax 中,我使用GlobalConfiguration.Configure(WebApiConfig.Register)注册了 Api,&nbsp;但问题是我将它放在底部,因为 MVC 优先,当我调用 api/admin 时,它给出了错误,说没有找到资源,因为 MVC正在行动。我在顶部和 Golabl.asax 的 ApplicationStart() 中添加了这个 GlobalConfiguration.Configure(WebApiConfig.Register) 并且它工作正常。
打开App,查看更多内容
随时随地看视频慕课网APP