我有一个API调用,响应200 OK并返回超文本标记语言。我想把这个添加到我的API留档(特别是因为我使用dredd验证它,除非我为它提供预期的响应主体,否则测试会失败)。我在斯威格怎么做?
---更多详细信息---我对API调用的响应是200 OK,带有一行响应体:
我可以很容易地在蓝图中以以下形式定义响应体:
+ Response 302 (text/html; charset=utf-8)
+ Body
`<html><body>You are being <a href="https://my.domain.com/users/sign_in">redirected</a>.</body></html>`
但我不知道如何大摇大摆地做到这一点。我能找到的几乎所有示例都是针对application/json响应的(可以理解),我很难猜测这种响应的正确语法。
我的文档中相关的昂首阔步的文本是这样的(到目前为止还没有指定响应体,所以使用空的响应体会失败,因为响应体应该是
# this is my API spec in YAML
swagger: '2.0'
info:
title: My API (Swagger)
description: blablabla
version: "1.0.0"
# the domain of the service
host: my.domain.com
# array of all schemes that your API supports
schemes:
- https
# will be prefixed to all paths
basePath: /
produces:
- application/json; charset=utf-8
paths:
/users/password:
post:
summary: Password Reset
description: |
Handles Reset password for existing user.
consumes:
- application/x-www-form-urlencoded
produces:
- text/html; charset=utf-8
parameters:
- name: "user[email]"
description: email
in: formData
required: true
type: string
default: "user@gmail.com"
tags:
- Reset Password
responses:
200:
description: Success
如果您对此有任何建议,请发表评论。谢谢!
如果有人在openapi 3.0版中需要此功能,您可以这样做:
components:
schemas:
error401:
type: string
example: '<html>HTML text</html>'
responses:
'401':
description: Error
content:
text/html:
schema:
$ref: '#/components/schemas/error401'
我明白了。响应对象有一个名为“examples”的字段,该字段允许向API响应显示示例。
语法在规范中清楚地显示出来,基本上说你需要为示例响应识别MIME类型,在我的例子中是text/html,值是实际的文本。
所以像这样:
responses:
200:
description: success and returns some html text
examples:
text/html:
<html><body>Your HTML text</body></html>
就这样了。他们的文档指出,除了JSON之外的任何响应都被验证为纯文本,所以这应该可以工作。
希望这有帮助。
假设有人开发了RESTAPI,以json格式返回数据,但他没有将response设置为,而是。 现在我已经用REST Assured编写了测试: 但它不起作用。我注销了响应主体,这就是我得到的: 错误是: 在body标签之间有我期望的json,但是html标签是从哪里来的?当我在Postman或Paw甚至Web浏览器中测试api方法时,我无法看到它们的响应(因为它是带有网址参数的简单GET)。 我
当调用rest模板获取以下异常时,有人能告诉如何解析html内容吗? restClientException:提取类型[class java.lang.Object]和内容类型[text/html;charset=UTF-8]的响应时出错;嵌套异常为org.springframework.http.converter.httpmessagenotreadableException:JSON分析错误
G-WAN4.3.11正在以“text/plain”类型返回我的所有csp文件。这怎么能修好?!目前,它只是一个静态文件服务器。 例如,//127.0.0.1:8080/?hello.py以“Hello,Python! ”(作为text/plain)响应 这应该返回“Hello,Python!”不显示 (以text/html形式)
当我尝试向某个endpoint发送sparql查询时,例如: 我明白了 这不是唯一一个我无法向其发送查询的endpoint, 我应该怎么做才能在其他内容类型中获得结果?我试着用谷歌搜索它,但我发现如果我将查询发送到错误的html(不是sparqlendpoint),就会发生这种情况,但是http://data.open.ac.uk/sparql是一个好的endpoint,我通过python向它发送
我在尝试获取gRPC API(使用C#)到blazor客户端时遇到了一个错误,一开始它工作得很好,但是在添加IdentityServer4并使用CORS for gRPC-Web之后,就像在文档中一样。下面是与错误相关的代码。 backend/startup.cs 后端/服务/用户服务.cs 前端/程序.cs 前端/Pages/Todolist.razor.cs 这是控制台的输出 这是尝试使用Id
根据文档,响应自动作为JSON、XML或字符串对象提供,具体取决于响应内容。 在我的例子中,我的响应的内容类型为text/plain 这在我将字符串转换为响应,然后验证的地方工作(我已经逃过了所有的反斜杠) 这是失败的。当响应也可用作字符串时,为什么会失败 com.intuit.karate.exception.KarateExc0019:路径: $[*], 实际:["a. b. c匹配\"(\d