3

我正在使用具有模糊 API 文档的网络设备。我能够很好地执行 PATCH 和 GET 请求,但 POST 不起作用。我收到 HTTP 状态错误 422 作为响应,我在 JSON 请求中缺少一个字段,但我提供了文档中指定的必填字段。我在他们的示例代码中尝试了 Python Requests 模块和供应商提供的 PyCurl 模块,但遇到了同样的错误。

REST API 是否具有为特定 POST 返回所需字段及其值类型的调试方法?我说的更多的是模板配置为在请求中看到的内容(例如 JSON {str(ServerName) : int(ServerID)},而不是 API 开发人员可能创建的内容。

4

1 回答 1

1

不,这一般不存在。某些服务支持对相关路由的 OPTIONS 请求,这应该会返回有关该路由的文档。如果幸运的话,这是从实现路由的相同源代码机器生成的,因此比静态文档更准确。但是,它可能只是返回一个非常简单的摘要,例如支持哪些 HTTP 动词,这是您已经知道的。

更好的是,一些服务可能支持使用 WSDL 或 WADL 的 API 的机器描述,尽管您可能只会发现服务也支持 XML。这可能会更好,因为您将能够找到一个可以解析描述并生成服务的本地对象模型以用于与 API 交互的库。

但是,即使您有 OPTIONS 或 WADL 文件,您所面临的错误类型仍然可能发生。如果这些文档没有帮助,您可能需要联系服务支持团队,证明您的问题并请求帮助。

于 2016-09-27T14:02:13.867 回答