如何在Postman中添加注释?

66

如何在Postman中添加注释?具体来说,如何在JSON请求正文部分添加注释?

我想注释掉请求正文中的特定键或值,以便它不会被发送。

使用///* ... */ 来注释 JSON 键/值对将在Postman中显示为样式化的注释:

comments appear to work

但是发送此请求会导致服务器错误,例如下面的错误提示,并且很明显,被注释的行作为请求正文的一部分被发送:

Unexpected character ('/' (code 47)): maybe a (non-standard) comment? (not recognized as one since Feature 'ALLOW_COMMENTS' not enabled for parser) at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 2, column: 6 ]

JSON规范不允许使用注释:Can comments be used in JSON?

我希望Postman在请求发送之前剥离掉被注释的行。


5
你可以查看这个链接:https://dev59.com/K3VC5IYBdhLWcg3wlyQo?rq=1。 - A.Joly
1
这回答了你的问题吗?JSON能使用注释吗? - Henke
2
Postman中的那个主体并没有什么神奇之处,它只是普通的JSON。因此,不幸的是 - 如Can comments be used in JSON?所接受的答案所述 - 答案是否定的。一个可能的解决方法是向您的JSON数据添加一个“虚假”的字段,例如"_comment": "comment text goes here..."。当然,注释掉一些JSON数据的技巧就是简单地更改要“禁用”的键的名称。 - Henke
8个回答

25

34
我只想禁用一些代码而不是添加注释或描述...我该怎么做? - Mahender Reddy Yasa
3
好的,我明白了。以下是您需要翻译的内容:和@MahenderReddyYasa提出的问题一样 - YaserKH
2
你可以使用 // <单行代码> 或者 /** <多行代码 */ 的方式来禁用代码,就像你在Javascript中编写任何代码一样。 - Pratik Mandrekar
6
OP询问如何停止Postman在请求中包含已注释的代码,这是问题所在。 - Marius
1
@PratikMandrekar 不确定为什么OP接受了这个答案,但我也在寻找一个答案,可以在我的JSON主体中注释一行代码而不删除这些行,我尝试了///**/,但这些都返回错误,说“JSON解析错误:意外字符('/'(代码47)):可能是(非标准)注释?(由于未启用解析器的特性'ALLOW_COMMENTS'而未被识别为一个);嵌套异常是com.fasterxml.jackson.core.JsonParseException:意外字符('/'(代码47)):`。 - Suresh
maybe a (non-standard) comment? (not recognized as one since Feature 'ALLOW_COMMENTS' not enabled for parser)\n at [Source: (PushbackInputStream); line: 10, column: 6]" - Suresh

22

最后,自从Postman v8.3.0版本以来,您可以在集合的pre-request脚本中执行此操作:

// Strip JSON Comments
if (pm?.request?.body?.options?.raw?.language === 'json') {
    const rawData = pm.request.body.toString();
    const strippedData = rawData.replace(
        /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
        (m, g) => g ? "" : m
    );
    pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
}

这会从json中删除所有注释并将当前body设置为清理后的内容,其他body类型(GraphQL,URL Encoded,Form Data)有更多示例可以在原始github帖子中找到。


8
这很好用!但我需要额外更新标题:pm.request.upsertHeader({key: 'Content-Type', value: 'application/json'});。似乎更新主体会将内容类型重置为纯文本。 - mindaugasw

12
每个请求发送按钮上方都有一个“评论”选项/按钮。
但是,我们仍然无法在请求正文中添加评论,也许在未来,他们会提供这个功能。

screenshot


5

2
在YouTube上观看它的演示:在Postman中向JSON正文添加注释 - Ricardo
这是我在最新的macOS版Postman(v9.24.0;桌面平台v9.22.2)上唯一有效的解决方案。 - Ricardo

4
我在 GitHub 上查看了 Postman 的功能请求和错误跟踪,链接如下:

功能请求:原始主体编辑器 JSON 注释 #3358
https://github.com/postmanlabs/postman-app-support/issues/3358

您可以前往添加评论,以便考虑在下一个版本中添加此功能。此外,我发现您可以复制并粘贴<!-- comment-->来添加注释。

1
在 Postman v9.13.0 中,您可以使用块注释来实现这一点。

enter image description here


1
多行注释在Postman中不起作用。我尝试了你上面展示的相同方法,但它没有起作用,并在原生请求中发送了/* *?块。 - Rizwan

0

这不是实际问题的答案,但是它解决了下面高赞评论所提出的问题:

我只想禁用一些代码而不是添加注释或描述...我该怎么做?- Mahender Reddy Yasa

在最新的Postman7.7.3 64位Windows版本中,忽略评论验证并发送请求现在对我有效。

Postman inputs


4
侧面显示有明显错误,请验证。 - Shawn
4
是的,忽略验证并发送请求是可以工作的。在上述情况中,“描述”将不会发送到服务器。 - Praveen
1
在这里使用“//”进行了工作。 - Fábio
不,它没有起作用。即使您使用单个注释,它也会在本地请求中发送已注释的行。 - Rizwan

0

你可以在请求对象后添加注释。

{
  "name":"Abc",
  "number":"278389239"
}

// Your Comment

/**

    Your Comments

**/

You can get a more clear image from this screenshot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接