2015-09-22 3 views
4

Когда я запускаю свою программу, он показывает только «Предоставьте общее описание ваших API здесь». Но контент не показывается. Как на картинке: http://i.stack.imgur.com/unBmb.pngASP.NET web.api Страница справки не показывает никакого описания

Моя проблема похожа на это 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 из «Добавление страниц справки в существующий проект», и все автоматически создается из nuGet, за исключением «ValuesController».

Я угадываю, что проблема.

Мои 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-проект (который содержит valuescontroller от начала), и это работает отлично ..)

ответ

2

Я нашел решение!

Шаг 1: Я добавил значение ControlController в папку Controller, как пустой web-контроллер api2. Затем вставить код из учебника:

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 (который автоматически создается, если вы сделаете апи проект с самого начала), таким образом, не упоминается в учебнике.

routes.MapHttpRoute(
     name: "DefaultApi", 
     routeTemplate: "api/{controller}/{id}", 
     defaults: new { id = RouteParameter.Optional } 
     ); 

Когда я запускал программу, она работала. :)