当前位置: 首页 > 知识库问答 >
问题:

如何用Swashbuckle记录查询字符串参数?

楚皓君
2023-03-14

Swashbuckle在提取C# XML注释以制作Swagger API文档方面做得很好。Swagger 支持记录查询字符串参数。但是,如果有一种方法可以在XML中记录查询字符串参数,以便Swashbuckle导出它们,我还没有找到它。

我有这样的东西:

    /// <summary>
    /// List all users
    /// </summary>
    /// <param name="?search">String to search for in user IDs and names</param>
    /// <returns>An array of users</returns>
    /// <response code="200">OK</response>
    [ResponseType(typeof(IEnumerable<User>))]
    [Route("")]
    [HttpGet]
    public IHttpActionResult ListUsers()
    {
        IEnumerable<User> users;

        // "?search=<substring>" in the URI searches for users
        // Adapted from https://stackoverflow.com/questions/10656841
        var searchString = Request.GetQueryNameValuePairs()
            .Where(nv => nv.Key == "search")
            .Select(nv => nv.Value)
            .DefaultIfEmpty("")
            .FirstOrDefault();

并且<code>搜索</code>不会显示在输出中。我尝试删除<code>没有帮助。我怀疑XML注释不直接支持这一点。如果这是真的,我正在寻找一个最佳实践解决方案。我正在考虑在<code>中添加几个项目符号

共有1个答案

葛和志
2023-03-14

@jps给我指了正确的方向。谢谢!

我的结局是:

    /// <summary>
    /// List all users
    /// </summary>
    /// <param name="search">String to search for in user IDs and names</param>
    /// <returns>An array of users</returns>
    /// <response code="200">OK</response>
    [ResponseType(typeof(IEnumerable<User>))]
    [Route("")]
    [HttpGet]
    public IHttpActionResult ListUsers([Optional]string search)
    {
        IEnumerable<User> users;

        var searchString = search == null ? string.Empty : search;
 类似资料:
  • 我从客户端发送了以下查询字符串参数 在REST服务器中,我如何接收上述格式并正确分配给每个类别? 更新1 参数的值为 {_=[1437904506062],{“take”:75,“skip”:0,“page”:1,“pageSize”:75、“filter”:{“logic”:“and”,“filters”:〔{“field”:“prodCode”,“operator”:“eq”,“value”:

  • 例如:我有两个相同的路由定义endpoint: 发布/api/customer(路由模板->/api/customer) post/api/customer?f={f}&l={l}(路由模板->/api/customer) 默认的swagger生成器的问题是它给出了与相同endpoint的冲突。我尝试了swashbuckle中的方法,但没有太大帮助。

  • 问题内容: 除了使用正则表达式之外,还有没有更好的方法可以从标准Ja​​vaScript中的URL字符串中的查询字符串中删除参数? 到目前为止,这是我想出的方法,似乎可以在我的测试中使用,但是我不希望重新发明querystring解析! 问题答案: 似乎很危险,因为它的参数“ bar”会匹配: 另外,如果包含RegExp中特殊的任何字符(例如“。”),它将失败。而且它不是全局正则表达式,因此只会删

  • 问题内容: 从服务器重定向后,如何在我的routes.jsx文件中定义路由以从Twitter的单点登录过程生成的URL 捕获参数值? 我尝试使用以下路由配置,但没有捕获上述参数: 问题答案: 反应路由器v3 React Router已经为您解析了位置并将其作为道具传递给RouteComponent。您可以通过访问查询(在URL中的?之后)部分 如果要查找路径参数值(在路由器内部用冒号(:)分隔),

  • 如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:

  • 问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册