首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用autorest生成的typescript客户端时包含cookies?

如何在使用autorest生成的typescript客户端时包含cookies?
EN

Stack Overflow用户
提问于 2019-10-02 11:28:01
回答 1查看 475关注 0票数 0

我正在使用AutoRest为RESTful应用编程接口生成基于OpenAPI规范文件的Typescript客户端,如下所示:

代码语言:javascript
运行
复制
autorest --typescript --use-internal-constructors --override-client-name=MyApiClient --input-file=API.Swagger.json --namespace=MyApi.Client --typescript.output-folder=C:\One\ts --add-credentials=true

当我通过CORS使用生成的API客户端进行调用时,它不包含任何Cookie。

JavaScript fetch提供此构造以包含cookies:

代码语言:javascript
运行
复制
fetch(uri, { credentials: 'include' })

但是我想不出使用AutoRest生成的应用程序接口客户端的方法。我确实查看了msRest.ts,看看是否可以使用任何可用的凭据类型。

更新

在深入研究之后,我发现客户端的options参数有一个属性withCredentials,它可以设置为true。最后,node_modules\@azure\ms-rest-js\es\lib\xhrHttpClient.js进行API调用。具体地说,下面这行代码调用:

代码语言:javascript
运行
复制
xhr.send(request.body === undefined ? null : request.body);

我进行了彻底的调试,并确保将withCredentials设置为true,但由于某些原因,它不会发送cookie!如果我使用javascript fetch进行调用,它会发送cookies,而自动生成的客户端不会发送cookies!

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 22:28:48

您可能想尝试一下OpenAPI Generator,它同时支持OpenAPI/Swagger v2和v3。(只有OpenAPI规范v3支持cookie参数)。

我记得我们已经向TypeScript生成器添加了cookie参数支持。如果您需要OpenAPI生成器社区的帮助,请打开ticket/issue

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

https://stackoverflow.com/questions/58194829

复制
相关文章

相似问题

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