当我运行我的程序时,它只显示“在这里提供API的一般描述”.但没有内容显示.如下图所示:
http://i.stack.imgur.com/unBmb.png
我的问题类似于这个ASP.NET Web Api Help Page doesn’t show any tips,但它没有提供任何解决方案.
我从“将帮助页面添加到现有项目”中遵循了本教程http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/creating-api-help-pages,除了“ValuesController”之外,所有内容都是从nuGet自动创建的.
我猜这就是问题所在.
我的ValuesController:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace WebApiHelperTest.Controllers
{
public class ValuesController : ApiController
{
/// <summary>
/// Gets some very important data from the server.
/// </summary>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
/// <summary>
/// Looks up some data by ID.
/// </summary>
/// <param name="id">The ID of the data.</param>
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
}
有没有人有这方面的解决方案,或任何可能出错的建议?
(我还制作了一个新的asp.net web api-project(从start开始包含valuescontroller),这个工作正常..)
最佳答案 我找到了解决方案!
第1步:我在Controller-folder中添加了一个valuesController,作为一个空的web api2 Controller.然后粘贴教程中的代码:
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace yournamespace.Controllers
{
public class ValuesController : ApiController
{
/// <summary>
/// Gets some very important data from the server.
/// </summary>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
/// <summary>
/// Looks up some data by ID.
/// </summary>
/// <param name="id">The ID of the data.</param>
public string Get(int id)
{
return "value";
}
}
}
第2步:将此代码添加到route.config(如果您从头开始创建api项目,则会自动创建),因此在本教程中未提及.
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
当我运行该程序时,它工作. 🙂