【问题标题】:C# WebAPI HelpPage customization - Url EndpointC# WebAPI HelpPage 自定义 - Url Endpoint
【发布时间】:2016-12-07 14:36:25
【问题描述】:

我遇到了一个非常简单的问题,我无法弄清楚如何在搜索结果中使用单词,所以我希望通过解释在这里找到解决方案。

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

GET api/status/{id}

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

GET api/status/?id={id}

您能否为我指明正确的方向,找到一个很好的资源来解释如何正确格式化我的 xml cmets,或者解释我需要做什么才能正确生成 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 }
                );
            }
        }
    }

【问题讨论】:

  • 你能粘贴你的端点方法声明和那个端点上的任何属性吗?
  • 我更新了我的帖子。谢谢
  • 我可以看看你的 WebApiConfig 吗?
  • 我又更新了。另外我相信这是项目模板附带的默认配置。谢谢 - 只是为了澄清端点工作正常 GET api/status/{id} 它是帮助区域生成的文档,这是问题所在。

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


【解决方案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 }
                );

}

这是帮助页面上的样子:

【讨论】:

  • 谢谢。我不知道为什么我的不工作,但现在。如果我想做这样的事情怎么办:GET api/order/{orderNumber} 当我将 id 更改为其他内容时,它会回到旧格式。
  • 您能否发布另一个关于如何制定端点参数的问题?我有一个解决方案,但它应该是另一个问题,以便其他人可以从中受益
  • 是和不是。它说我只能每 90 分钟发布一次,所以我可能需要稍后再访问
  • 好的。不幸的是,我刚刚参加了一个会议。等我出去的时候,我应该可以回答了。抱歉,我只是不想在 cmets 中隐藏答案!感谢您的耐心
  • 如果您还需要答案,请告诉我
猜你喜欢
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多