使用Karate REST API工具上传文件

2024-04-04

我正在尝试使用空手道在特定的松弛通道上上传图像,但没有运气,我尝试了多次不同的步骤,但仍然有 200 响应,并且图像未显示在通道中。 尝试发布文字内容并成功在频道上找到文字。

以下是我根据空手道文档尝试过的两个:

@post
Feature: Post images

Background: 
* url 'https://slack.com/api/files.upload'
* def req_params= {token: 'xxxxxxx',channels:'team',filename:'from Karate',pretty:'1'}

Scenario: upload image
Given path 'api','files'
And params req_headers
And multipart file myFile = { read: 'thumb.jpg', filename: 
'upload-name.jpg', contentType: 'image/jpg' }
And multipart field message = 'image upload test'
And request req_headers
When method post
Then status 200

OR

Given path 'files','binary'
And param req_params
And request read('thumb.jpg')
When method post
Then status 200

我错过了什么吗?尝试了空手道演示 GitHub 存储库中上传 pdf 和 jpg 的相同示例,但没有成功。

注意:使用 Slack API UI 进行工作。


你似乎把事情搞混了,没有必要request使用时身体multipart。你的标题/参数看起来不一样。还基于doc here https://api.slack.com/methods/files.upload,文件上传字段的名称是file。尝试这个:

Scenario: upload image
Given url 'https://slack.com/api/files.upload'
And multipart file file = { read: 'thumb.jpg', filename: 
'upload-name.jpg', contentType: 'image/jpg' }
And multipart field token = 'xxxx-xxxxxxxxx-xxxx'
When method post
Then status 200

如果这不起作用,请向能够理解如何解释 Slack API 文档的人寻求帮助。或者让 Postman 测试工作起来,然后你就会很容易地找出你错过了什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Karate REST API工具上传文件 的相关文章

  • RESTful API 应该有架构吗?

    最近有人告诉我 一个合适的 RESTful API 应该为其接受和返回的资源表示定义一个模式 例如 用于 XML 的 XSD 和用于 JSON 的 JSON 架构 然而 在我读过的所有关于 REST 的书籍和文章中 这一点似乎不仅没有突出
  • 为什么设置 POST Content-type:"Application/Json" 会导致 REST WebService 上出现“错误请求”?

    我在使用网络服务时遇到一个奇怪的问题 当我作为客户端将表单发布到 REST Web 服务而不设置任何 类型内容 标头时 一切正常 我接到服务器上的电话并且 Json 文本可用 如果我作为客户端将我的发布请求的内容类型标头设置为 applic
  • 如果 POST 成功但没有创建任何新内容,我们应该返回什么状态代码?

    我们有一个端点 当您发布创建新版本的资源时 它会返回 201 和新创建的资源的位置 它根据当前版本和发布的版本 使用类似 semver 的规则集 的比较来确定新版本号 如果您发布的版本与现有版本相同 则不会更新版本号 在这种情况下我们应该返
  • 将额外参数传递给 Django Rest Framework 中的 Serializer 类

    我想从 Viewset 向 DRF Serializer 类传递一些参数 所以我已经尝试过 class OneZeroSerializer rest serializer ModelSerializer def init self args
  • HTTP-DELETE-请求是否允许响应主体?

    我假设响应代码 200 始终允许响应主体 但我找不到任何明确提及删除请求的响应主体 这里明确提到了RFC http www w3 org Protocols rfc2616 rfc2616 sec9 html sec9 7 简短的回答是 Y
  • 用于分享帖子的 Yammers REST API

    我想使用 REST API 从我的业务应用程序共享帖子 不是发布新消息 而是共享现有帖子 有谁知道要使用哪个端点以及如何实现它 当您使用 Yammer API 创建新帖子时 请将参数 shared message id 与要共享的消息的 m
  • Laravel 5 / Lumen 请求标头?

    所以我不太确定如何解决这个问题 我已经尝试了一些方法 我将在下面列出其中之一 但是我想要做的是将 http 请求中发送的信息存储在 PHP 变量中 这是 Chrome Postman 发送我想要发送的请求的视图 注意 pubapi 是一个
  • 正确的需要授权的资源的http状态代码

    如果用户尝试访问需要用户登录的页面 则返回的正确 http 状态代码似乎存在很多混乱 那么当我显示登录页面时基本上会发送什么状态代码 我很确定我们需要在4xx range 我在这里讨论的不是 HTTP 身份验证 因此我们至少不会使用 1 个
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • Flask API TypeError:“Response”类型的对象不可 JSON 序列化

    我在使用 Python Flask Restful API 时遇到问题 并且数据发送到 Elasticsearch 当我使用 Postman 发布新数据时 问题是 类型错误 响应 类型的对象不可 JSON 序列化 你能帮助我吗 Model
  • WCF Rest 服务还是 ASP.NET MVC 控制器/操作?

    如果有人能提供一些关于哪种更有益的见解 我将不胜感激 WCF 中的 RESTful 服务可以提供与 ASP Net MVC 控制器相同的功能 即可以使用控制器 操作适当地形成 URL 使用其中一种比另一种有真正的好处吗 WCF休息服务将提供
  • 当REST客户端和服务器在同一台服务器上时如何避免网络调用

    我有一个 Web 应用程序 其中两个主要组件是网站 在 Groovy 和 Grails 中实现 和后端 RESTful Web 服务 使用 JAX RS Jersey 和 Spring 实现 这两个都将在 Glassfish 中运行 该网站
  • 如何在 Jersey 容器中配置欢迎文件 (HTML/JSP)

    我有一个 Jersey RESTful Web 服务项目 我已经在中配置了 Jersey 容器web xml一切正常 在同一个项目中 我引入了一个 HTML 页面并包含在
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • 使用 match every contains 进行 json 数组项断言

    我想在响应数组下的每个项目中添加包含 训练 的技能数组断言 我怎样才能使用匹配每种格式来做到这一点 match each response contains password abc123 不使用 JsonPath 表达式 我预计下面的示例
  • 如何在 REST WCF 服务中接受任意 JSON 对象?

    我想实现这样的服务方法 OperationContract WebInvoke RequestFormat WebMessageFormat Json ResponseFormat WebMessageFormat Json public
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 重置 Windows Phone 照片上传

    我正在尝试使用 RestSharp 将照片上传到 Windows Phone 7 应用程序中的 REST api 进行获取 发布 post参数如下 photo 照片 编码为多部分 表单数据 照片 相册 id 现有相册的标识符 可以是一个事件
  • 微服务、amqp 和服务注册/发现

    我正在研究微服务架构 实际上我想知道一些事情 我非常同意使用 返回 服务发现来在基于 REST 的微服务上发出请求 我需要知道发出请求的服务 或至少是服务器集群的前端 在哪里 因此在这种情况下能够发现 ip port 是有意义的 但我想知道

随机推荐

  • java android eclipse 未绑定类路径变量

    Eclipse 上的 Unbound Class Path 变量是什么意思 我收到错误 但不知道如何修复它 Eclipse 中 Unbound Classpath 变量的含义是什么 这是一条警告消息 内容是 类路径变量 http help
  • Android:我可以从第 3 方应用程序使用此意图吗?

    我正在使用意图通过 Twitter 客户端发布消息 当手机上没有 Twitter 应用程序时 我想将用户重定向到市场 但异常 ActivityNotFoundException 不起作用 每次 当我没有 Twitter 应用程序时 我都会收
  • 程序中出现奇怪的错误“Ora-01001无效光标”

    昨天我处理了生产过程中的一个奇怪的错误 语句执行失败 if v cursor isopen then close v cursor here was an error end if 经过一番研究后 我发现问题出在打开该游标的子程序中 我通过
  • React 显示 0,而不是使用短路 (&&) 条件组件显示任何内容

    我有以下简单的短路语句 应该显示一个组件或不显示任何内容 profileTypesLoading
  • 条件变量可能未初始化

    我正在编写一个程序 根据 CLI 标志将传入文件子集为一个或两个输出文件 至少它的工作原理如下 use std fs File io Write fn main Would be a CLI flag let write all true
  • 瑞典语字符和 UTF-8

    我在所有页面上都使用 UTF 8 但一些瑞典语字符 和 变得混乱 只是一个带有一些字母的方框 我的数据库设置为 utf8 general ci 但我什至没有连接 所以这并不重要 或者我应该使用另一个字符集 这不是瑞典语网站 都是英文的 但我
  • 如何在 Linux 中创建别名? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 假设我想为 srm 创建一个别名 安全删除 这样每次使用 srm 时 都会运行交互式 rm 命令 例如rm i 需要对必要的配置文件进行此
  • 如果标签有重音,NSXMLParser 不会获取所有标签

    我有一个对数据库进行不同更改的网络服务 当我使用带有 sql 标签的 Web 服务返回行时 如下所示
  • Push 替换数组中的旧值

    也许是因为我工作了一整天 我看不到问题所在 但在下面的代码中 警报仅显示最后添加的值 并且不会将值推送到数组中 window sortControl sortControlPanel div sortControl simpleSortCr
  • 为什么 DbSet.Add 工作这么慢?

    8 个月前曾在这里讨论过同样的话题 如何加快 DbSet Add 的速度 https stackoverflow com questions 4355474 how do i speed up dbset add 除了使用 SqlBulkC
  • JavaFX 字体渲染中的错误字符间距(字距调整)(在 Linux 中)

    我已经开始在 JavaFX 中开发一个应用程序 并且遇到了一个问题 我可以找到很少的有用信息 Linux 中字符之间的间距非常不均匀 我不是在谈论不同字符的宽度 而是在谈论字符之间的空格 它在普通文本中可见 但以下示例比普通文本更好地说明了
  • 如果满足多个条件,则具有重置选项的累积和

    如果满足多个条件 我正在尝试使用重置选项进行累积总和 更具体地说 我想对变量进行累积求和amount and count分组依据id如果满足这两个条件 则重新从 0 开始重置 amount gt 10 且count gt 3 我还想创建一个
  • Android-Facebook SDK:无法共享照片,对话框不显示

    这是我第一次使用Android Facebook SDK 我正在尝试发布位图 但我不断收到此消息 Warning Error com facebook FacebookException Failed to copy image 我可以发布
  • ruby base64 通过以 2 位字符开头来编码 128 位数字,以防止末尾填充

    这个问题是我之前问题的后续 如何在 Ruby 中使用自定义字符集将 UUID 转换为字符串 https stackoverflow com questions 47803212 how can i convert a uuid to a s
  • 无法从 Xcode 6.1 中的情节提要连接自定义协议委托

    我刚刚将我的 mac 升级到 10 10 将 Xcode 升级到 6 1 发现一个关于故事板的奇怪的事情 我的案例使用的是 swift 项目 无法再从故事板连接自定义协议委托 旧版本 Xcode 附带的旧连接很好 但我无法再连接任何新委托
  • Keras:TimeDistributed + InceptionV3 错误

    当我尝试在 TimeDistributed 包装器中使用 Inception 时 我在 Keras 中遇到了一个非常奇怪的错误 这段代码很简单 应该适用于许多模型或层 但奇怪的是 inception v3在预测时失败 import nump
  • 检查单实例java程序[重复]

    这个问题在这里已经有答案了 我有一个 Java 程序 带有 swing gui 我希望只存在 1 个实例 如果它尝试打开程序的另一个实例 我希望将当前实例带到前台 我该怎么做呢 提前致谢 使用启动应用程序Java网络启动 https sta
  • NV21 格式和奇数图像尺寸

    我在 Android 中使用 NV21 图像已经有一段时间了 我一直在跟踪可能由 NV21 图像中不正确的索引字节引起的错误 答案中的图片这个问题 https stackoverflow com questions 5272388 extr
  • 根据buildType更改android项目中的.properties文件和settings.gradle文件

    我有一个 android gradle 项目 其中有两种构建类型 QA 和 prod 我想根据构建类型更改 properties 文件中的属性 我还想根据 buildType 更改 settings gradle 文件中的值之一 我是 an
  • 使用Karate REST API工具上传文件

    我正在尝试使用空手道在特定的松弛通道上上传图像 但没有运气 我尝试了多次不同的步骤 但仍然有 200 响应 并且图像未显示在通道中 尝试发布文字内容并成功在频道上找到文字 以下是我根据空手道文档尝试过的两个 post Feature Pos