有没有什么办法通过使用REST中的端点URL来找到请求的有效载荷结构

问题描述:

我有端点URL和示例JSON请求有效载荷,当我试图通过邮递员打开(POST)终点URL时,请求有效负载中缺少用户名字段。但是相同的请求有效负载与我们用于调用相同端点URL的内部工具正常工作。即使我在postman中设置了基本身份验证,但仍然观察到相同的错误消息。有没有什么办法通过使用REST中的端点URL来找到请求的有效载荷结构

有什么方法通过使用端点URL来识别示例请求负载?或者用其他方法来确定这个问题的根本原因以及解决方法是什么?

+1

生产者的API文档? –

+0

我对你的解释有些困惑。服务是否需要基本认证?如果是这样的话,证书需要在一个'Authorization'头中传递,它的值以'Basic'开头,后面跟着一个base64编码版本的'username:password'。您应该进一步检查您的内部工具是否正在发送您的邮递员未提供的证书。但是,如果身份验证所需的凭据不是基本身份验证,则无效。 –

+0

我也在头文件中添加了基本身份验证。但仍然面临这个问题。另外,对于这种情况,我已经定义了没有用户名字段的请求负载,但是使用内部工具一切正常。该工具不需要任何基本认证。 – ArrchanaMohan

REST风格的Web服务并不像SOAP那样可以抓住WSDL,并且可以(几乎可以肯定!)确信预期的输入和输出。记录RESTful Web服务的请求/响应结构完全取决于供应商/维护者(请参阅Should a RESTful API have a schema?)。

如果你是100%肯定你正确使用邮差,我建议:

  1. 使用工具Wireshark的喜欢看什么得到通过电线
  2. 发送使用卷曲或另一种工具作为第二(三?)对此事

正如你在你的问题中提到您的URL是响应回到了

意见

“用户名”字段中请求负载

遗漏,这是工作的罚款与您的内部工具击中同一个网址,我建议你应该检查您发送您的POST请求的负载。

根据获得的错误响应,您没有在您的有效负载中发送“POST”请求以完成POST请求。

我建议你再次检查:

  1. 您通过邮差发送有效载荷和有效载荷比较你通过你的内部工具发送的一个。
  2. 此外,请检查POST请求中的内部工具是否正在发送一些其他标题,您可能会错过通过POSTMAN发送该标题。

postman request body

由于您使用POST请求传递给你指定它作为后体内的API的用户名和密码,上面的图片显示了如何做到这一点与邮递员。

如果您想查看请求负载,您可以在this的“请求/响应相关属性”部分查看 您可以通过执行ie来检查标题,数据,url等。

console.log(request.data)