C#WebAPI HelpPage自定义 - Url端点

时间:2016-12-07 14:36:26

标签: c# asp.net asp.net-web-api asp.net-web-api2

我有一个非常简单的问题,我无法弄清楚如何在搜索结果中说出来,所以我希望我能通过解释找到解决方案。

我正在探索ASP.NET WebAPI中的Helppage区域。目前我有一个新的端点集接受:

GET api/status/{id}

但是当我查看WebAPI自动生成的Helparea文档时,它会显示:

GET api/status/?id={id}

你能否指出我正确的方向,找到一个好的资源,解释如何正确格式化我的xml评论,或解释我需要做些什么才能正确生成Helparea文档。

我对ASP.NET相对较新,所以如果我需要澄清有关此事的任何内容,请告诉我,我会很高兴。

提前感谢所有的帮助和建议。

这是创建端点的地方

    /// GET: api/status/{id}
    /// <summary>
    /// Summary of my endpoint
    /// </summary>
    /// 
    /// <param name="id">summary of the param</param>
    /// <returns>What it returns</returns>
    [AllowAnonymous]
    public IHttpActionResult GetStatus(string id)
    {
    //  Doing stuff here
        return Ok();
    }

这是我的WebApiConfig.cs

    namespace TestAPI
    {
        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                // Web API configuration and services
                // Configure Web API to use only bearer token authentication.
                config.SuppressDefaultHostAuthentication();
                config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

                // Web API routes
                config.MapHttpAttributeRoutes();

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

1 个答案:

答案 0 :(得分:1)

我已经使用此配置和端点实现了这一目标:

TestController.cs

[RoutePrefix("api/test/v1")]
public class TestController : ApiController
{
    [HttpGet]
    public IHttpActionResult GetStuff(string id)
    {

        return Ok();
    }
}

WebApiConfig.cs

public static void Register(HttpConfiguration config)
{
    // Web API routes
    config.MapHttpAttributeRoutes();

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

}

以下是帮助页面上的内容:

enter image description here