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

如何将带有字节数组的json发送到web api/postman

酆浩邈
2023-03-14

我希望能够同时发送1. a Web Api 2.邮递员到Web Api

我可以用Postman对我的Web Api执行简单的GET请求,但我不知道如何发送字节数组。

邮递员,我知道这是一个PUT

这是Web api签名

[Route("api/Manifest/VerifyChain/")]
[ResponseType(typeof (VerifyManifestChainResponse))]
public IHttpActionResult PutVerifyManifestChain([FromBody] VerifyManifestChainRequest message)
{
   //.....
}

请求类

public class VerifyManifestChainRequest
{
    public byte[] CalculatedMeasurement { get; set; }
    public string DeviceId { get; set; }
}

我应该使用Postman通过原始数据发送JSON吗?

{
   "CalculatedMeasurement": ?????,
   "DeviceId": "00022B9A000000010001"
}

我知道当网页调用Web Api时,我确实在Inspector中看到了这一点

邮递员片段

如何通过Postman发送数据,以及如何发送到Web APIhttp://localhost:42822/api/Manifest/VerifyChain/

共有3个答案

范京
2023-03-14

您必须将文件转换为base64,并将其作为字符串发送。

  1. 您的WebAPI方法缺少PUT指示符
    [HttpPut("api/Manifest/VerifyChain/")]
    [ResponseType(typeof (VerifyManifestChainResponse))]
    public IHttpActionResult PutVerifyManifestChain([FromBody] VerifyManifestChainRequest message)
    {
       //.....
    }

邮递员的请求

澹台阳秋
2023-03-14

认为你的Webapi方法需要[Httpput]

[HttpPut]
[Route("api/Manifest/VerifyChain/")]
[ResponseType(typeof (VerifyManifestChainResponse))]
public IHttpActionResult PutVerifyManifestChain([FromBody] VerifyManifestChainRequest message)
{
   //.....
}

在《邮递员》中,你的邮件正文将是一个数组

{
  "CalculatedMeasurement":[71,107,98],
  "DeviceId": "afdghufsdjdf"
} 
虞展
2023-03-14

如果您正在寻找如何将文件转换为邮递员请求的字节数组:

byte[] bytes = System.IO.File.ReadAllBytes(@"C:\temp\myFile.txt");
string bytesStr = string.Join(",", bytes);

这将生成一个长字符串,如下所示:

“49,48,58,50,52,58,50,54,”

然后在邮递员请求中使用它,如下所示:

{
    "FileBytes":[49,48,58,50,52,58,50,54],
    "DeviceId": 12345
}

 类似资料:
  • 您好,我需要将以下内容写入我的BLE设备,它实际上使设备能够发送回数据或通知值。但是,在多次尝试和更改要发送的数据类型后,实际上是这样的。 我无法启用该设备。我知道我需要使用字节数组,但我不知道如何将这些添加到字节数组中 它根本不起作用。

  • 问题内容: 我想知道如何将zip文件发送到WebApi控制器,反之亦然。问题是我的WebApi使用json传输数据。一个zip文件不可序列化,或者是流。字符串将可序列化。但是除了将zip转换为字符串并发送字符串之外,还必须有其他解决方案。这听起来是错误的。 任何想法如何做到这一点? 问题答案: 如果您的API方法期望使用,则可以从中提取流: 当使用张贴HTTP表单时,这对我有用。

  • 问题内容: 我的成员有一个结构,我正在用编写它。麻烦的是,它将s解释为s,并且它输出字符串而不是数字数组。 如果它是,我可以使它工作,但是如果可以避免的话,我不想分配和复制这些项目。我可以吗? 问题答案: 根据文档,a 将被编码为Base64字符串。 “数组和切片值编码为JSON数组, 除了[] byte编码为base64编码的字符串 ,而nil slice编码为空JSON对象。” 因此,我认为您

  • 我发了这样的帖子: 我可以检索控制器中的数据,如下所示: 我确信这很简单,但我无法从我的StackOverflow和Google搜索中提炼出答案。 任何帮助都将不胜感激!:)

  • 问题内容: 我在EmployeeController中具有以下示例代码,该代码创建了几个雇员,将其添加到雇员列表中,然后在get请求中返回该雇员列表。从代码返回的JSON包含Employees作为根节点。我需要返回不带Employees属性的JSON数组,因为每当我尝试将JSON结果解析为对象时,除非手动将字符串重新格式化为不包含它,否则都会收到错误消息。 这是调用控制器时收到的JSON结果 这是

  • 我目前正在学习网络,需要一些帮助来找出通过UDP从Java程序向C程序发送字节数组的最简单方法。以前,我用java创建了一个非常简单的客户机和服务器程序,并且能够使用Java类DatagramSocket和DatagramPacket在两个Java客户机/服务器程序之间发送和接收数据包。 但是现在,我有一个网络仿真器,我需要通过它,它是用C编写的,所以我担心它无法识别DatagramSocket和