【问题标题】:Is there a way in Postman to store multiple values for one key?Postman 有没有办法为一个键存储多个值?
【发布时间】:2021-10-25 05:38:02
【问题描述】:

我正在使用 ASP.Net Core Web api 进行辅助项目。我目前正在使用 Postman,因此可以与自定义中间件进行交互。正如您在图片中看到的那样,我有一个用户 ID,并且希望请求标头具有多个用户 ID 键值。每次我调试 api 时,请求标头只计算一个值而不是两个值。我查看了 Postman 帮助页面,但它并没有真正涵盖有关我的问题的任何材料。所以为了浓缩我的问题,在 Postman 中是否有一种方法可以让一个键(对于我的场景,用户 ID)可以保存多个值。

【问题讨论】:

  • 请发布您的端点代码。我们不知道用户 ID 是什么类型。
  • 不,你只能在Header Param中发送String,JSON只是发送多个值的一种选择,但是除了请求头中的字符串之外,没有办法发送JSON或其他任何东西。跨度>
  • @RaviS。好的,谢谢你解决这个问题。
  • @RaviS 这毫无意义:“你不能在请求头中发送 JSON,你只能发送一个字符串”——你认为 JSON 是什么
  • @CaiusJard 我已经知道JSON也是String类型,JSON是数据交换格式。

标签: c# api asp.net-core postman


【解决方案1】:

你的问题真的没有意义。 Postman 会将您放置的数据发送到服务器。你输入的数据是"1,2"。在服务器端,如果你拉取userId 值并用逗号分割它,你就有了你的两个值,不是吗?

我发现当您在服务器上拉取 userId 时,标头的值为“1”而另一个 id 消失的可能性极小。如果网络这样做了,那么大量的标头(例如您的 gzip, deflate, br 那里)将会丢失并且内容将无法正常工作

【讨论】:

    【解决方案2】:

    在带有 Spring Boot 框架的 java 中,我知道我们必须从请求控制器方法发送 List userIds,您必须将此方法作为 post 方法并将该数据发送到正文部分

    @PostMapping("/listUsers")
    public String getList(@RequestBody List<Integer> userIds) {
        // call service method
        return "page";
    }
    
    
    Json Request from postman
    {
      1,2,3,4,5............
    }
    

    点网核心

    [Produces("application/json")]
    [Route("api/accounts")]
    public class AccountsController : Controller
    {
        [HttpGet]
        [Route("servicesbycategoryids")]
        public IActionResult ServicesByCategoryIds([FromQuery] int[] ids)
        {
            return Ok();
        }
    }
    

    【讨论】:

    • 这不是 java 相关的问题,但我现在知道 header 不能发送 json
    • 我知道这是 java 的解决方案,你必须从邮递员的正文而不是标头发送数据。如果要传递数据列表,则必须使用 POST 方法
    • 这是对您有帮助的链接:- stackoverflow.com/questions/51300861/…
    • NickDotCore 我现在知道标头不能发送 json - 这绝对是不真实的,Ravi 不应该这样误导你。不幸的是,拉杰什也在做同样的事情。绝对没有什么可以阻止您将 JSON 放入 HTTP 标头,然后在服务器端将其拉出并反序列化它
    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多