You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ServiceStack PostmanFeature导出示例值和参数描述供Postman导入

ServiceStack PostmanFeature 配置解决方案

实现请求示例自动填充Postman raw body区域

默认PostmanFeature导出的接口规范默认使用form-data格式展示请求示例,可通过自定义PostmanFeature配置修改默认请求体格式:

  • 注册PostmanFeature时重写RequestBodyDefault委托,同时禁用form-data导出逻辑,示例代码如下:
Plugins.Add(new PostmanFeature 
{
    // 禁用默认form-data请求体导出规则
    ExportRequestBodyAsFormData = false,
    // 配置默认请求体为raw JSON格式,直接写入序列化后的请求示例
    RequestBodyDefault = (request, dtoInstance) => new PostmanRequestBody 
    {
        Mode = "raw",
        Raw = JsonSerializer.SerializeToString(dtoInstance),
        Options = new PostmanRequestBodyOptions 
        {
            Raw = new PostmanRequestBodyRawOptions { Language = "json" }
        }
    }
});

注:ServiceStack v6及以上版本内置ExportRequestBodyAsFormData属性,低版本可直接通过RequestBodyDefault完全覆盖请求体输出逻辑即可。

解决Postman Params区域Description列为空问题

默认PostmanFeature不会自动读取参数上的特性描述填充到Postman参数列表,需要额外配置ParameterFilter委托实现字段绑定:

  • 在PostmanFeature注册配置中新增参数描述绑定逻辑,完整配置示例如下:
Plugins.Add(new PostmanFeature 
{
    ExportRequestBodyAsFormData = false,
    RequestBodyDefault = (request, dtoInstance) => new PostmanRequestBody 
    {
        Mode = "raw",
        Raw = JsonSerializer.SerializeToString(dtoInstance),
        Options = new PostmanRequestBodyOptions 
        {
            Raw = new PostmanRequestBodyRawOptions { Language = "json" }
        }
    },
    // 读取ApiMember特性的Description值绑定到Postman参数描述
    ParameterFilter = (postmanParam, apiParamMetadata, operationMeta) => 
    {
        if (!string.IsNullOrEmpty(apiParamMetadata.Description))
        {
            postmanParam.Description = apiParamMetadata.Description;
        }
    }
});

配置完成后,只要参数上添加了[ApiMember(Description = "参数描述内容")]特性,描述内容就会自动同步到Postman的Params区域Description列。

内容的提问来源于stack exchange,提问作者Ted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:24:03