我的网络服务API会检查请求中是否包含某个Cookie,但我无法弄清楚如何在我的swagger doc api调用中添加Cookie。
我尝试了两种方法:
在我的.yaml文件中将cookie添加为可编辑字段。
paths:
/myApi/create:
parameters:
- name: Cookie
in: header
description: cookie
required: true
type: string
在swagger ui的html文件中,添加
window.authorizations.add(
"Cookie",
new ApiKeyAuthorization("Cookie", 'Name=Val', 'header')
)
但是在这两种方法中,我的api都没有获得cookie,我想知道我该怎么做?谢谢!
答案 0 :(得分:5)
OpenAPI / Swagger规范2.0不支持cookie身份验证。对于下一个版本(3.0),可以在以下内容中找到支持它的讨论:
https://github.com/OAI/OpenAPI-Specification/issues/15
更新:OpenAPI规范3.0将支持cookie
:https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#parameter-locations
答案 1 :(得分:3)
也许为时已晚,但您应该查看following示例:
swagger: '2.0'
info:
version: '1'
title: With Cookie Authentication
description: With Cookie Authentication
securityDefinitions:
myCookie:
type: apiKey
name: Cookie
in: header
paths:
/say-hi:
get:
summary: Say Hello
description: Say Hello
responses:
200:
description: OK
security:
- myCookie: []