首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenAPI cookie参数序列化

OpenAPI cookie参数序列化
EN

Stack Overflow用户
提问于 2022-09-13 15:37:58
回答 1查看 26关注 0票数 1

我试图为OpenAPI cookie参数实现符合规范的参数序列化。

我的唯一来源是docs:https://swagger.io/docs/specification/serialization/#cookie

在描述中我看到了这行

一个可选的爆炸性关键字控制数组和对象序列化。

但是,当explodefalse时,下表仅定义数组和对象序列化。

这是什么意思?

  • 是否定义了使用explode = true的cookie序列化?如果是的话,请您链接文档好吗?
  • 如果不是,我是否正确地说,explode = true基本上“禁用”数组和对象序列化,而对原始序列化没有影响?
  • 如果两者都没有,那么explode的情况如何?

我希望OpenAPI专家能对此有所了解,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-13 19:10:31

Cookie序列化是定义的,但不幸的是,没有很好地考虑,因此有些形式的序列化没有多大意义。规范作者之一坦承表示,他们“从未想过任何人会遇到用cookie描述对象的麻烦”。

简而言之,cookie序列化遵循与style: form相同的规则。

使用explode: true

  • 名为param的cookie参数具有数组值[3, 4, 5],将作为以下方式发送: Cookie: param=3¶m=4¶m=5
  • 名为param的cookie参数具有对象值{"foo": "test", "bar": 5},该参数将被发送为: Cookie: foo=test&bar=5 注意,在这种情况下,参数名称(param)丢失了。

正如您可能注意到的,这两种方法都偏离了标准的Cookie头格式,该格式需要分号分隔的name=value对:

代码语言:javascript
复制
Cookie: [cookie-name]=[cookie-value]; [cookie-name]=[cookie-value];...

换句话说,OpenAPI的激增形式的cookie与cookie解析器并不完全兼容。例如,OpenAPI--格式化的爆炸数组cookie Cookie: param=3&param=4&param=5将由cookie解析器解析为param = 3&param=4&param=5 --这不是API开发人员所期望的。

cookie序列化的问题将在这里讨论:

曲奇参数的默认“爆炸”?

请随时提供实现者的反馈。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73705759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档