Yur*_*ri_ 7 amazon-web-services swagger swagger-ui
对于我们的AWS API端点,我们使用AWS_IAM授权并希望从Swagger UI进行调用.要成功拨打电话,必须有2个标题'授权'和'x-amz-date'.为了形成'授权',我们使用aws doc中的以下步骤.我们必须在每次通话授权时更改"x-amz-date".问题是:如何在Swagger中编写脚本来签署请求,每次请求发送到aws 之前都会运行?(我们知道在加载Swagger页面之前如何指定两个标题,但是在每次调用之前应该重新运行此过程).
提前致谢.
swagger-js中有内置支持添加requestInterceptors 来做到这一点。swagger-ui 项目在底层使用了 swagger-js。
只需创建一个请求拦截器,如下所示:
requestInterceptor: {
apply: function (request) {
// modify the request object here
return request;
}
}
Run Code Online (Sandbox Code Playgroud)
并将其应用于创建时的 swagger 实例:
window.swaggerUi = new SwaggerUi({
url: url,
dom_id: "swagger-ui-container",
requestInterceptor: requestInterceptor,
Run Code Online (Sandbox Code Playgroud)
在这里,您可以在对象中设置标头request(注意,这不是标准的javascript http 请求对象,请检查它以了解详细信息)。但您确实可以访问此处的所有标头,因此您可以根据需要计算和注入它们。
| 归档时间: |
|
| 查看次数: |
1244 次 |
| 最近记录: |